gpt4 book ai didi

ios - 将 PFObject 附加到数组 - EXC_BAD_ACCESS

转载 作者:行者123 更新时间:2023-11-30 14:17:57 24 4
gpt4 key购买 nike

我目前正在使用 Swift 和 Parse,但遇到了一个在过去几个小时内无法解决的问题。

单击按钮时,我尝试将 Employee 对象添加到 Event 对象的 eventAttendee 数组中。

@IBAction func joinEvent(sender: AnyObject) {
var employee = Employee.currentUser()
employee.events.append(event)
employee.saveInBackgroundWithBlock(nil)

event.eventAttendees.append(employee)
event.saveInBackgroundWithBlock(nil)
}

事件已添加到员工事件中,但员工未添加到事件参与者列表中。该函数在append(employee)行上抛出EXC_BAD_ACCESS(代码=1,地址=0x0),没有其他错误消息。

我的事件类如下所示:

class VolunteerEvent : PFObject, PFSubclassing {

@NSManaged var eventName: String
@NSManaged var dateOfEvent: NSDate
@NSManaged var eventDescription: String
@NSManaged var eventURL: String?
@NSManaged var eventImage: PFFile

@NSManaged var contactEmail: String
@NSManaged var contactPhone: NSNumber

@NSManaged var eventOrganizer: Employee
@NSManaged var eventAttendees: [Employee]

class func parseClassName() -> String {
return "VolunteerEvent"
}
}

我的 Employee 类扩展了 PFUser,尽管当我打印出我的员工的描述时,我发现它是 PFUser。我不知道这是否是问题所在。当我打印出该事件时,看起来就像我期望的那样。我还尝试将 eventAttendees 切换为 PFUser 数组而不是 Employee 数组,但这也不起作用。

任何帮助将不胜感激。谢谢。

最佳答案

我用这种方式子类化我的 PFObjects,

class Person : PFObject, PFSubclassing {

var firstName: String {
get {
return objectForKey("firstName") as? String ?? ""
}
set {
setObject(newValue, forKey: "firstName")
}
}
}

这样,如果解析数据库中没有字符串,我不会得到 nil,我会得到一个空字符串。

您可以使用数组(实际上是所有对象属性)来执行此操作。

如果没有返回任何内容,那么您将得到一个空的 Employee 数组,而不是一个 nil 对象 - 当您尝试追加它时,这会导致崩溃。

关于ios - 将 PFObject 附加到数组 - EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30903866/

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