1
私は、ドキュメントでやっているようにSwift(2.2)レルムフレームワークを使用しています。ここに私のコードがあります。ここでiOS - レルムクエリーが正常に動作しません。
class SwipedAsset: Object{
dynamic var identifier = ""
dynamic var createdAt = ""
}
// save data
let realm = try! Realm()
let fileName = asset.originalFilename
if fileName != nil {
let swipedAssets = realm.objects(SwipedAsset.self).filter("identifier == '\(fileName!)'")
let assetCount = swipedAssets.count
if assetCount == 0 {
let swipedAsset = SwipedAsset()
if asset.originalFilename != nil {
swipedAsset.identifier = asset.originalFilename!
}
if asset.creationDate != nil {
let year = String(asset.creationDate!.year)[2...3]
let key = "\(asset.creationDate!.monthName) \(year)"
swipedAsset.createdAt = key
}
let realm = try! Realm()
try! realm.write{
realm.add(swipedAsset)
}
}
}
// load data
let realm = try! Realm()
let swipedAssets = realm.objects(SwipedAsset.self).filter("createdAt == '\(key)'")
let lastObject = swipedAssets.last
print(lastObject.identifier)
print(lastObject.createdAt)
、値が「全て」、「」何も、しかし、swipedAssets.count = 3私はそれは、レルムのクエリが正常に動作している意味と思いました。 私の何が悪いですか?助けてくれてありがとう。
'' asset.creationDate''と '' asset.originalFilename''がnilを返さないのですか?それはこれを説明するでしょう。試してみるもう一つの良いことは、アプリを削除してもう一度実行することです。 – mtaube
あなたのコードの範囲で、mtaubeが言ったことに続いて、 'key 'は' swipedAssets'クエリでそれを使用しているときには存在しません。ここであなたのコードの構造に関するいくつかの情報を提供していただけますか?具体的には、「資産」の内容は何か、これらのコードブロックは互いに関連しています。 – TiM