私はUITableviewを持っています。 (つまり、最後の5分以内に私のCoreDataに追加されました。)私は、項目エンティティに 'expire_date'というDate型のフィールドを持っています。私は、バックグラウンドで新しいアイテムをダウンロードすると、私は)NSDate(にEXPIRE_DATEを設定し、CoreDataに追加プラス5分:NSFetchedResultsController with> now()は、期限切れのエントリを更新しません。
let fetchRequest=NSFetchRequest(entityName: "Item")
fetchRequest.predicate = NSPredicate(format: "expire_date > now()")
let sortDescriptor = NSSortDescriptor(key: "expire_date")
fetchRequest.sortDescriptors=[sortDescriptor]
myFRC=NSFetchedResultsController(fetchRequest:fetchRequest, managedObjectContext:myMOC)
do {
try myFRC!.performFetch()
} catch {
print(error)
}
:
item.expire_date = NSDate(timeIntervalSince1970: NSDate().timeIntervalSince1970+5*60);
NSFetchedResultsControllerのための私のセットアップは次のようになりますNSFetchedResultsControllerDelegateコードは、UITableViewを使用する場合のこのような種類の標準的な定型文です。
これはすべて、アプリを起動するときに効果的です:「タイムアウトしていない」既存の項目だけが表示されます。新しいアイテムが追加されたときにもうまくいきます。
問題は、リストの時間の項目が出て、それが結果から削除されないとき
誰でもどのようにこれを実現するために、任意のアイデアを持っているということでしょうか?