如何在子类中使用Parse.com布尔值

时间:2015-01-12 18:42:27

标签: swift parse-platform

我已经将PFUser子类化,并添加了一个属性isManager

class User : PFUser, PFSubclassing {
 @NSManaged var isManager: Bool
 override class func load() {
  self.registerSubclass()
 }   
}

我试过

user.isManager = false

但是得到运行时错误

[Foo.User setIsManager:]: unrecognized selector sent to instance 0x145bf550

由于核心数据

,我也尝试过使用NSNumber
user.isManager = NSNumber(bool: false)

但是得到编译时错误

NSNumber is not convertible to bool

2 个答案:

答案 0 :(得分:8)

我实际上发现它更容易实现" get"和"设置"。

class User: PFUser, PFSubclassing {
    var isManager: Bool {
        get { return self["isManager"] as! Bool }
        set { self["isManager"] = newValue }
    }
    ...
}

答案 1 :(得分:1)

使用NSNumber设置bool

currentUser!.isManager = NSNumber(bool: true)

然后对if语句使用以下内容

if currentUser!.isManager.isEqualToNumber(NSNumber(bool: true))

然后在你的班上:

class User : PFUser, PFSubclassing {
 @NSManaged var isManager: NSNumber
 override class func load() {
  self.registerSubclass()
 }  
}