这是我的代码:
func jobSelected() {
let businessName = realm.objects(UserSettings.self).last
let results = realm.object(ofType: Job.self, forPrimaryKey: "uuid")
print(results)
businessNameLabel.text = "Bid From \(businessName!.businessName)"
jobNameLabel.text = "Job Name \(results?.name)"
jobAddressLabel.text = results?.address
jobPhoneLabel.text = results?.phone
}
该函数返回正确的uuid,但其他属性(结果?.name,results?.address,results?.phone)返回nil . 这些属性用于填充tableview单元格中的标签 .
任何建议表示赞赏 .
稍微纠正:我实际上是在点击一个tableview单元格并进入另一个视图 . 然后我调用jobSelected函数,我试图将获得的结果值放入UIView中的常规标签中 . 我无法想象这很重要因为我在segue中传递的所有内容都是来自单元格标签的实际uuid字符串 .
以下是我的模型类的内容:import Foundation import RealmSwift
class Job: Object {
dynamic var name = ""
dynamic var address = ""
dynamic var phone = ""
dynamic var email = ""
dynamic var date = ""
dynamic var jobName = ""
dynamic var tripChg = 0.0
dynamic var notes = ""
dynamic var discount = 0.0
dynamic var uuid = NSUUID().uuidString
var rooms = List<Room>()
override static func primaryKey() -> String {
return "uuid"
}
let room = LinkingObjects(fromType: Room.self, property: "job")
var thisJob: Room? {return room.first}
convenience init(uuid: NSUUID) {
self.init()
self.uuid = ""
}
}
2 回答
解决了:
函数中错误的行是:
它应该是:
segueLabel保存“uuid”属性的实际值 . 我正在慢慢地学习 .
感谢所有回复的人!
请参考这个答案:
https://stackoverflow.com/a/31006930/4525734
这提供了如何使用Realm以及获取对象属性的清晰图片 .
另外,我参考了本教程,以了解有关领域的更多信息并将其与swift一起使用 . 我希望它会有用 .
https://www.appcoda.com/realm-database-swift/