我一直在尝试使用Realm为我的cocos2d游戏创建数据库,但无法解决一些问题。我使用Realm Objective-C 0.92.3(https://realm.io/docs/objc/latest/)因为我需要在iOS 7或更高版本上运行游戏。
我一直在使用一些小代码来编写和阅读但不知何故它不起作用。
let realm = RLMRealm.defaultRealm()
var tempo = EnemyDB()
tempo.damage = 7
realm.beginWriteTransaction()
realm.addObject(tempo)
realm.commitWriteTransaction()
var temp = EnemyDB.allObjects()
不知怎的,这是返回空对象(temp = RLMResults!0x00007f954708a070上的未评估查询),有没有人看到任何问题?
感谢您的帮助
编辑:
import Foundation
class EnemyDB : RLMObject {
var damage : Int!
}
答案 0 :(得分:0)
您可能需要在damage
中为EnemyDB
的值明确设置默认值。
尝试将其更改为此,如果有效,请告诉我!
class EnemyDB : RLMObject {
var damage: Int = 0
}
答案 1 :(得分:0)
这发生在我身上,最后通过将我的谓词打印到控制台,我发现我的查询字符串不完整。
<强>目标-C:强>
NSLog(@"%@",searchPredicate);
<强>夫特:强>
print(\(searchPredicate)
打印出“SELF.message CONTAINS nil”。
nil
就是问题所在。我修好了,问题就消失了。
在您的情况下检查相同的问题。