Parseを使ってデータをやり取りする実装を行っていますが、2点ご質問があります。
目的:clip classを作成し、別の値を返し、成功を取得したい。

  1. return clipObjects で、[PFObject] is not convertible to "Void" というエラーが起きる理由
  2. backgroundで処理しているので、成功時に処理をするというクロージャの書き方
class Clip {

    class var sharedInstance : Clip {
        struct Static {
            static let instance : Clip = Clip()
        }
        return Static.instance
    }

    func apiCall() {
        var currentUser:PFUser! = PFUser.currentUser()
        var clip = PFObject(className: "Clip")
        var query = PFQuery(className: "Clip")        
        query.whereKey("user", equalTo: currentUser.username!)        
        query.findObjectsInBackgroundWithBlock{ (objects,error) -> Void in

            if let clipObjects = objects as? [PFObject] {
                println("clipObjects ------------------ \(clipObjects)")
                return clipObjects
            }
        }
    }
}

ViewController

class ViewController : UIViewController{
    var clipData : [PFObject] = []
    override func viewDidLoad() {
        super.viewDidLoad()

        var clip = Clip.sharedInstance

        var clipData = clip.apiCall()
        self.tableView.reloadData()

        clip.apiCall{(success:[AnyObject]?,data:[AnyObject]?) -> Void in
               // clip classから渡ってきたデータをself.clipDataに入れたい
               self.clipData = data
               self.tableView.reloadData()
        }
    }
}

以上ですが、アドバイスいただけますと幸いです。
よろしくお願い致します。