0
は私がそうのようなフェッチ要求を行い明らかに存在しているにもかかわらず、0の結果を返します。フェッチスウィフト要求は192の結果
しかし、私は自分自身でこれを行う:
managedObjectContext.executeFetchRequest(pageFetchRequest)
は、私はすべての192件の結果を得ます。私がresults
のような変数にそれを割り当てない限り、何故ですか?これを割り当てるか、またはtry
メソッドを使用すると、これは機能しませんか?
更新
これは完全なポストです。私がmanagedObjectContext
を2つの異なる関連要求に対して2回使用していることに注目してください。たぶんそれは私の結果をボトミングしているのでしょうか?
let managedObjectContext = self.managedObjectContext
for item in items {
let word = Word(chapter: Int(item.chapter)!, verse: Int(item.verse)!, sanskrit: item.sanskrit, english: item.english, insertIntoManagedObjectContext: managedObjectContext)
// Assign the Page
let pageFetchRequest = NSFetchRequest(entityName: "Word")
let chapterPred = NSPredicate(format: "(chapter = %d)", Int(item.chapter)!)
let versePred = NSPredicate(format: "(verse = %d)", Int(item.verse)!)
pageFetchRequest.fetchLimit = 1
pageFetchRequest.predicate = NSCompoundPredicate(type: .OrPredicateType, subpredicates: [chapterPred, versePred])
do {
let results = try managedObjectContext.executeFetchRequest(pageFetchRequest)
if let page = results.first as? NSManagedObject {
word.setValue(page, forKey: "page")
}
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
do {
try managedObjectContext.save()
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
変数に代入していないときに192の結果が得られたことをどう知っていますか? – Macondo2Seattle
@ Macondo2Seattleその行にデバッガを設定し、 'po 'の前にaformentioned行を実行していないから – Trip
エラーを検出するためのキャッチブロックはありますか?ドキュメントごとにエラーがある場合、executeFetchRequestはnilを返します。 –