我正在尝试使用 CoreData 将一些数据保存到数据库中,因此我创建了名为“Client”的实体,并带有一些属性。其中两个是'city'和'post_code',都是String类型。我还创建了扩展 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"];
有没有人有类似的问题?