gpt4 book ai didi

swift - 使用 Realm swift 从过滤器查询中获取关联的对象值

转载 作者:行者123 更新时间:2023-11-28 07:31:39 24 4
gpt4 key购买 nike

所以我对 Realm 还很陌生,我觉得我的问题很基础,但我找不到答案。

基本上我正在尝试为所有 playerName 查询 Realm与特定 TeamID 相关联(即 TeamID 不是主键),但是我找不到解决方案。我不断收到 Value of type 'Results<playerInfoTable>' has no member 'playerName'错误。

下面是我的 Realm 类:
`class playerInfoTable: Object {

@objc dynamic var playerID: Int = 0
@objc dynamic var playerName: String = ""
@objc dynamic var jerseyNum: Int = 0
@objc dynamic var TeamID: String = ""
@objc dynamic var goalCount: Int = 0
@objc dynamic var shotCount: Int = 0

override class func primaryKey() -> String {
return "playerID"
}

}`

我正在使用查询 Realm 的代码:

let mainPlayerFilter = NSPredicate(format: "teamID == %@", "1")
let mainPlayerStrings = realm.objects(playerInfoTable.self).filter(mainPlayerFilter)
let mainPlayerTeamName = mainPlayerStrings.playerName

解决方案!

let mainPlayerFilter = NSPredicate(format: "TeamID == %@", String(homeTeam!))
let mainPlayerStrings = realm.objects(playerInfoTable.self).filter(mainPlayerFilter)
let mainPlayerTeamName = mainPlayerStrings.value(forKeyPath: "playerName") as! [String]

最佳答案

我想您在声明 mainPlayerTeamName 常量时遇到了错误。尝试以下操作:

let mainPlayerTeamName = mainPlayerStrings.first?.playerName

而且我注意到,在您的 playerInfoTable 类中,您将“teamID”声明为“TeamID”,而在您的谓词中,您将其称为“teamID”。决定你想要哪一个,因为 NSPredicate 默认是区分大小写的。

关于swift - 使用 Realm swift 从过滤器查询中获取关联的对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54496956/

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