objective-c – 核心数据库是空测试
发布时间:2020-12-14 19:35:12 所属栏目:百科 来源:网络整理
导读:如何测试核心数据数据库是否为空? 我试过了: NSIndexPath *path1 = [NSIndexPath indexPathForRow:0 inSection:0];NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:path1];if([[managedObject valueForKey:@"date"] d
如何测试核心数据数据库是否为空?
我试过了: NSIndexPath *path1 = [NSIndexPath indexPathForRow:0 inSection:0]; NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:path1]; if([[managedObject valueForKey:@"date"] description]!=nil){SOMEFUNCTION}else{SOMEFUNCTION} 谢谢 解决方法
您必须为您在核心数据中使用的每个实体创建一个fetchrequest.如果fetchrequest返回没有结果,则表示您没有将此实体的对象存储在核心数据中.
- (BOOL)coreDataHasEntriesForEntityName:(NSString *)entityName { NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; NSEntityDescription *entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:self.managedObjectContext]; [request setEntity:entity]; [request setFetchLimit:1]; NSError *error = nil; NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error]; if (!results) { LogError(@"Fetch error: %@",error); abort(); } if ([results count] == 0) { return NO; } return YES; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |