Ios 使用带有自定义PFUser指针的对象时,突然从解析中获得错误
在过去的48小时里,我一直在拼命想弄清楚我改变了什么,这让我发疯 我使用的是解析数据库,我有两个类:Ios 使用带有自定义PFUser指针的对象时,突然从解析中获得错误,ios,xcode,swift,parse-platform,Ios,Xcode,Swift,Parse Platform,在过去的48小时里,我一直在拼命想弄清楚我改变了什么,这让我发疯 我使用的是解析数据库,我有两个类: 用户类,它是PFUser的子类 一个Car类,它是PFObject的子类 这个Car类有一个字段“owner”,它是指向用户的指针 2天前,我在尝试保存新车或访问现有车辆时,随机出现以下错误: 2016-01-14 20:18:04.135 YetiTest[3439:1130906][Error]:捕获到“NSInternalInconsistencyException”,原因是“Key”
- 用户类,它是PFUser的子类
- 一个Car类,它是PFObject的子类
}您需要实现协议
PFSubclassing
(请参阅)
首先,我在Swift中使用Parse-SDK时遇到了非常奇怪的错误,因为我在initialize
方法中注册了子类(您的相似性可能会有所不同)
因此,当您的应用程序第一次启动时,请调用
ParseCar.registerSubclass()
因此,在这两个类的initialize方法中,我都有self.registerSubclass。我应该从每个类定义中删除这一行,然后在我的应用程序中,didfishlaunchingwithoptions委托方法put ParseCar.registerSubclass和ParseUser.registerSubclassIf添加PFSubclassing
无效,然后尝试是。
class ParseCar: PFObject
{
@NSManaged var owner: PFUser?
@NSManaged var make: String?
@NSManaged var model: String?
@NSManaged var year: String?
@NSManaged var color: String?
@NSManaged var licensePN: String?
init(owner: PFUser, make: String?, model: String?, year: String?, color: String?, licensePN: String?) {
super.init()
self.owner = owner
self.make = make
self.model = model
self.year = year
self.color = color
self.licensePN = licensePN
}
extension ParseCar: PFSubclassing
{
class func parseClassName() -> String {
return "Car"
}
override class func initialize() {
var onceToken: dispatch_once_t = 0
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
}
class ParseUser: PFUser {
@NSManaged var firstName: String?
@NSManaged var lastName: String?
@NSManaged var zipCode: String?
@NSManaged var userRole: String?
@NSManaged var stripeID: String?
@NSManaged var address1: String?
@NSManaged var address2: String?
@NSManaged var city: String?
@NSManaged var state: String?
@NSManaged var zip: String?
@NSManaged var country: String?
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
class ParseCar: PFObject, PFSubclassing { ... }