领域没有正确写入
Realm not writing correctly
我一直在尝试使用 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!
}
您可能需要为 EnemyDB
中的 damage
的值明确设置默认值。
尝试将其更改为此,如果可行请告诉我!
class EnemyDB : RLMObject {
var damage: Int = 0
}
这发生在我身上,最后我发现我的查询字符串不完整,方法是将我的谓词打印到控制台,如下所示。
Objective-C:
NSLog(@"%@",searchPredicate);
Swift:
print(\(searchPredicate)
打印了"SELF.message CONTAINS nil"。
nil
是这里的问题。我修复了它,问题消失了。
检查您的情况是否存在相同问题。
我一直在尝试使用 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!
}
您可能需要为 EnemyDB
中的 damage
的值明确设置默认值。
尝试将其更改为此,如果可行请告诉我!
class EnemyDB : RLMObject {
var damage: Int = 0
}
这发生在我身上,最后我发现我的查询字符串不完整,方法是将我的谓词打印到控制台,如下所示。
Objective-C:
NSLog(@"%@",searchPredicate);
Swift:
print(\(searchPredicate)
打印了"SELF.message CONTAINS nil"。
nil
是这里的问题。我修复了它,问题消失了。
检查您的情况是否存在相同问题。