CoreData を使用してデータベースにデータを保存しようとしているので、いくつかの属性を持つ「クライアント」という名前のエンティティを作成しました。そのうちの 2 つは「city」と「post_code」で、どちらも文字列型です。また、NSManagedObjects を拡張する Client クラスを作成し、そこにいくつかのメソッドを記述しました。
-(void) setCity: (NSString*) city
{
[self setValue:city forKey:@"city"];
}
-(NSString*) getCity
{
return [self valueForKey:@"city"];
}
-(void) setPostCode: (NSString*) postCode
{
[self setValue:postCode forKey:@"post_code"];
}
-(NSString*) getPostCode
{
return [self valueForKey:@"post_code"];
}
getPostCode と setPostCode は期待どおりに機能しますが、setCity または getCity を呼び出すと問題が発生します。スクリーンショットでわかるように、アプリケーションが停止し、メソッドがスレッドでループしています。
これが私がそれらのメソッドを呼び出す方法です
if([databaseResult count] > 0)
c = [databaseResult objectAtIndex:0];
else
c = [NSEntityDescription insertNewObjectForEntityForName:@"Client" inManagedObjectContext:context];
[c setPostCode:[jsonData valueForKey:@"post_code_invoice"]];
[c setClientType:[jsonData valueForKey:@"company_type"]];
[c setCity:[jsonData valueForKey:@"city_invoice"]];
その呼び出しが機能しなくても、そこに渡したデータに関係なく、常に setCity で停止します
[c setCity:@"aaa"];
誰かが同様の問題を抱えていましたか?