如何在另一个视图控制器中调用此函数?

时间:2015-07-20 02:08:14

标签: swift function syntax model

我有一个模型,我在其中设置此功能以检查当前用户是否具有角色。当我尝试在不同的视图控制器函数中调用此代码时,我不断抛出错误...我不太确定语法,它是我第一次尝试调用这样的函数。谢谢。

class AdminCheck {

  func getAdmin(completionHandler : ((Admin : Bool) -> Void)) {

var roleQuery = PFRole.query()
roleQuery!.whereKey("name", equalTo: "admin")
roleQuery!.getFirstObjectInBackgroundWithBlock() { (roleObject: PFObject?, error) -> Void in

  var adminRole = roleObject as! PFRole

  adminRole.users.query()!.findObjectsInBackgroundWithBlock({ (users, error) -> Void in


    if let objects = users {

      if objects == PFUser.currentUser() {

        completionHandler(Admin: true)

      } else {

        completionHandler(Admin: false)

我的电话看起来像这样..

如果AdminCheck.getAdmin {(管理员) - >在

中无效

我得到的错误...... 二进制运算符'=='不能应用于'()'和'Bool'

类型的操作数

2 个答案:

答案 0 :(得分:1)

这是一个例子。在XCode示例项目中使用它是一个好主意。

class AdminCheck {    
    func amIAdmin(handler: (Bool) -> Void) {
        handler(false);
    }
}

var ad = AdminCheck()

ad.amIAdmin { (result:Bool) -> Void in
    print(result)
}

答案 1 :(得分:0)

有点像这样。

class AdminCheck {

     class func getAdmin(completionHandler : ((admin : Bool) -> Void)){
          // your handle
     }
}

并使用它。

AdminCheck.getAdmin { (admin) -> Void in
     // your handle
}