我正在开发一个使用CoreData保存网址的应用。我在NSManagedObjectContext
对象类而不是AppDelegate中定义NSManagedObjectModel
,NSPersistentStoreCoordinator
,CoreDataRepository
。我使用CoreDataRepository的引用保存此URL。我使用下面的代码获取CoreData
-(void)getcoredata
{
_coredatarep = [[CoreDataRepository alloc] init];
NSManagedObjectContext *context=[_coredatarep managedObjectContext];
NSFetchRequest *request=[[NSFetchRequest alloc] init];
NSEntityDescription *entity=[NSEntityDescription entityForName:@"UrlData" inManagedObjectContext:context];
[request setEntity:entity];
NSError *error;
NSArray *recordsDataArray=[context executeFetchRequest:request error:&error];
urlMutableArray = (NSMutableArray *)recordsDataArray;
for (int i=0; i<[urlMutableArray count]; i++)
{
urlString = [NSString stringWithFormat:@"%@", [urlMutableArray objectAtIndex:0]];
NSLog(@"urlString is %@",urlString);
_urlLabel.text=urlString;
}
}
在输出中,标签文本显示为
<NSManagedObject: 0x9920620> (entity: UrlData; id: 0x991faf0 <x-coredata://A00EB59A-C480-4237-A749-8A40BF908655/UrlData/p1> ; data: <fault>)
知道为什么会这样吗?
答案 0 :(得分:1)
正如我在你的另一个帖子中说的那样,它正在打印你要打印的内容。 [urlMutableArray objectAtIndex:0]
是UrlData
对象,这就是它的描述。如果你想要一个存储在UrlData
中的字符串,你需要询问它的一个属性......无论你在数据模型中定义它们是什么。