【发布时间】:2015-12-17 15:23:53
【问题描述】:
我有一个名为 PaymentInfo 的 Parse 子类,定义为
class PaymentInfo: PFObject, PFSubclassing {
override class func initialize() {
var once: dispatch_once_t = 0;
dispatch_once(&once) {
self.registerSubclass()
}
}
static func parseClassName() -> String {
return "PaymentInfo"
}
@NSManaged var paymentUserID: String!
@NSManaged var walletID: String!
convenience init(userID: String, walletID: String) {
self.init()
self.paymentUserID = userID
self.walletID = walletID
}
}
在 lldb 中调试时,我得到一个实例并查看成员
(lldb) expr self.paymentInfo
(Nestor.PaymentInfo!) $R0 = 0x00007f9e15805740 {
Parse.PFObject = {...}
}
(lldb) po $R0
<PaymentInfo: 0x7f9e15805740, objectId: 2gKS5LhD35, localId: (null)> {
paymentUserID = 10104705;
walletID = 10104706;
}
到目前为止一切顺利。但我不明白的是:
(lldb) expr $R0.paymentUserID
2015-12-17 16:09:17.432 Nestor[3474:482967] -[PFObject paymentUserID]: unrecognized selector sent to instance 0x7f9e15805740
error: Execution was interrupted, reason: internal ObjC exception breakpoint(-3)..
The process has been returned to the state before expression evaluation.
显然,lldb 知道 $R0 是(合格)类型 Nestor.PaymentInfo 的 IUO!但是当询问 paymentUserID 属性时,信息丢失了......为什么?
还是我错过了什么?
谢谢
B
【问题讨论】: