2016-09-12 3 views
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私はそれは、レルムのクエリが正常に動作している意味と思いました。 私の何が悪いですか?助けてくれてありがとう。

+0

'' asset.creationDate''と '' asset.originalFilename''がnilを返さないのですか?それはこれを説明するでしょう。試してみるもう一つの良いことは、アプリを削除してもう一度実行することです。 – mtaube

+1

あなたのコードの範囲で、mtaubeが言ったことに続いて、 'key 'は' swipedAssets'クエリでそれを使用しているときには存在しません。ここであなたのコードの構造に関するいくつかの情報を提供していただけますか?具体的には、「資産」の内容は何か、これらのコードブロックは互いに関連しています。 – TiM

答えて

0

ブレークポイントでデバッグしないでください。

関連する問題