所以林相当新的境界,我感觉我的问题很简单,但我不能找到它的答案。
基本上我想查询及的境界与特定playerName
相关联的所有TeamID
(即TeamID
不是主键),但林无法找到解决方案。我不断收到一个Value of type 'Results<playerInfoTable>' has no member 'playerName'
错误。
下面是我的领域类: `类playerInfoTable:对象{
@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"
}
}`
和代码我使用的查询境界:
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区分默认敏感。