首页 文章

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

提问于
浏览
0

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

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) - > void in

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

2 回答

  • 1

    有点像这样 .

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

    并使用它 .

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

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

    class AdminCheck {    
        func amIAdmin(handler: (Bool) -> Void) {
            handler(false);
        }
    }
    
    var ad = AdminCheck()
    
    ad.amIAdmin { (result:Bool) -> Void in
        print(result)
    }
    

相关问题