Ant*_*oir 6 ios parse-platform swift pfsubclassing
使用swift 1.2,我无法再使用parse子类检索一个poiter数组,并使用另一个parse子类向下转换它.
我总是发现错误:
fatal error: NSArray element failed to match the Swift Array Element type
Run Code Online (Sandbox Code Playgroud)
你有想法还是可能来?
代码:
import Foundation
class ShotModel : PFObject, PFSubclassing {
/**
* MARK: Properties
*/
@NSManaged var name: String
@NSManaged var pics: [PicModel]
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
class func parseClassName() -> String! {
return "Shot"
}
}
import Foundation
class PicModel : PFObject, PFSubclassing {
/**
* MARK: Properties
*/
@NSManaged var name: String
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
class func parseClassName() -> String! {
return "Pic"
}
}
// this cause error
var shot: ShotModel = // a shot model get with fetchInBackgroundWithBlock
shot.pics // fatal error: NSArray element failed to match the Swift Array Element type
Run Code Online (Sandbox Code Playgroud)
谢谢你的时间
Ant*_*oir 15
问题来自这部分代码:
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
Run Code Online (Sandbox Code Playgroud)
registerSubclass()对于PicModel,之前调用registerSubclass()ShotModel.
我已经在AppDelegate中解决了这个问题:
PicModel.registerSubclass()
ShotModel.registerSubclass()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1775 次 |
| 最近记录: |