【问题标题】:How can i call this function in another view controller?如何在另一个视图控制器中调用此函数?
【发布时间】:2015-07-20 02:08:13
【问题描述】:

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

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 {(Admin) -> 无效

我遇到了几个错误... 二元运算符'=='不能应用于'()'和'Bool'类型的操作数

【问题讨论】:

  • getAdmin 不返回布尔值。你不能使用:if AdminCheck.getAdmin { (admin) -> Void in }

标签: swift function syntax model


【解决方案1】:

这是一个例子。最好在 XCode 示例项目中解决这个问题。

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

var ad = AdminCheck()

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

【讨论】:

    【解决方案2】:

    会有这样的事情。

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

    然后使用它。

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

    【讨论】:

    • 我要把它放在一个函数中吗?也上课?例如.. func isAdminOrNot() { class AdminCheck { class func getAdmin(completionHandler : ((admin : Bool) -> Void)){ // 你的句柄 AdminCheck.getAdmin { (admin) -> Void in } if (admin = = true) { self.performSegueWithIdentifier("toAdmin", sender: self) }else { self.performSegueWithIdentifier("toEmployee", sender: self) 之前从未调用过这个...
    • 我不明白你的意思。我看到你的问题了。你调用一个类函数。我建议你。如何使用它。
    猜你喜欢
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多