gpt4 book ai didi

ios - 使用带有自定义 PFUser 指针的对象时,Parse 突然出现错误

转载 作者:行者123 更新时间:2023-11-30 13:47:01 25 4
gpt4 key购买 nike

在过去的 48 小时里,我一直在自杀,试图弄清楚我改变了什么,这让我发疯!

我正在使用 Parse 数据库,并且有 2 个类:

  • User 类是 PFUser 的子类
  • Car 类,它是 PFObject 的子类

这个 Car 类有一个字段“owner”,它是指向 User 的指针

随机地,两天前,我在尝试保存新车或访问现有汽车时开始收到此错误:

2016-01-14 20:18:04.135 YetiTest[3439:1130906] [Error]: Caught "NSInternalInconsistencyException" with reason "Key "firstName" has no data. Call fetchIfNeeded before getting its value.":

firstName 是我的 User 类的一个属性,但已填充。今天,在开始出现错误之前,我还返回并检查了代码表单的版本,现在我也在那里遇到了错误。我在这里真的很茫然......我是编程新手,我很确定我正在做其他事情,这是不好的做法,但它之前是有效的,所以我不明白!我在下面添加了我的类定义

汽车

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()
}
}

}

最佳答案

您需要实现协议(protocol)PFSubclassing(请参阅Parse subclassing docs)。

class ParseCar: PFObject, PFSubclassing { ... }

请注意,我在 Swift 中使用 Parse SDK 遇到了非常奇怪的错误,因为我在 initialize 方法中注册了子类(您的情况可能会有所不同)。

因此,当您的应用首次启动时,请调用 ParseCar.registerSubclass()

关于ios - 使用带有自定义 PFUser 指针的对象时,Parse 突然出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34803049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com