境界写得不正确

时间:2015-05-25 13:15:49

标签: ios swift cocos2d-iphone realm

我一直在尝试使用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!
}

2 个答案:

答案 0 :(得分:0)

您可能需要在damage中为EnemyDB的值明确设置默认值。

尝试将其更改为此,如果有效,请告诉我!

class EnemyDB : RLMObject {
     var damage: Int = 0
}

答案 1 :(得分:0)

这发生在我身上,最后通过将我的谓词打印到控制台,我发现我的查询字符串不完整。

<强>目标-C:

NSLog(@"%@",searchPredicate);

<强>夫特:

print(\(searchPredicate)

打印出“SELF.message CONTAINS nil”。

nil就是问题所在。我修好了,问题就消失了。

在您的情况下检查相同的问题。