带有数组指针和Swift 1.2的PFSubclassing-致命错误:NSArray元素与Swift Array Element类型不匹配 [英] PFSubclassing with array pointer and swift 1.2 - fatal error: NSArray element failed to match the Swift Array Element type
本文介绍了带有数组指针和Swift 1.2的PFSubclassing-致命错误:NSArray元素与Swift Array Element类型不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在swift 1.2中,我不再可以使用解析子类来检索poiter数组,而不能将其与另一个解析子类向下转换.
With swift 1.2, I can no longer retrieve an array of poiter with parse subclass and downcasting it with another parse subclass.
我总是发现错误:
fatal error: NSArray element failed to match the Swift Array Element type
您有想法吗?或者它可能会来?
Do you have an idea or it may come?
代码:
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
感谢您的时间
推荐答案
问题来自此部分代码:
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
ShotModel的
registerSubclass()
在PicModel的registerSubclass()
之前被调用.
registerSubclass()
for ShotModel is called before registerSubclass()
for PicModel.
我已经在AppDelegate中解决了这个问题:
I've resolved with this in AppDelegate :
PicModel.registerSubclass()
ShotModel.registerSubclass()
这篇关于带有数组指针和Swift 1.2的PFSubclassing-致命错误:NSArray元素与Swift Array Element类型不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文