2012-04-19 40 views
-2

私は別の質問に応答して、このコードを見つけました:コアデータにオブジェクトの存在を確認してください

NSError *error = nil; 
NSUInteger count = [managedObjectContext countForFetchRequest:request error:&error]; 
[request release]; 

if (!error){ 
    return count; 
} 
else 
    return 0; 

を問題が持っているために、私は私のことフェッチ要求を作成するかわからない、ですそれは潜在的に私のオブジェクトだけを返し、他のものは返さない。

+0

ここでのエラー処理は正しくありません。 [一般的にCocoaの場合と同様](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html%23//apple_ref/doc/uid/TP40001806- CH204-SW1)、エラーオブジェクトをチェックする前に直接戻り値( 'count')をチェックする必要があります。この場合、 'NSNotFound'の返信は、([docs])(http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObjectContext_Class/NSManagedObjectContext.html)エラー。 –

+0

"自分のオブジェクトはどういう意味ですか?フェッチ基準を判断するためにNSPredicateを作成する必要があります。 – Jamie

+0

エンティティ名と、あなたの役に立つ属性を提供する必要があります。 –

答えて

1

リクエストはNSFetchRequestです。作成してオブジェクトを検索します。たとえば...

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Person"]; 
request.predicate = [NSPredicate predicateWithFormat:@"ssan = %@", ssan]; 

は今、あなたはそれがフェッチ要求を使用し、それが文字列変数に一致する属性「ショーン」を持つすべての「人」の実体があります。

オブジェクトを1つだけ探したい場合は、検索するための一意の識別子を入力する必要があります。

関連する問題