删除数据:
// 传入需要删除的实体对象
[context deleteObject:managedObject];
// 将结果同步到数据库NSError *error = nil;
[context save:&error];
if (error) {
[NSException raise:@"删除错误" format:@"%@",[error localizedDescription]];
}
Core Data的延迟加载:
Core Data不会根据实体中的关联关系立即获取相应的关联对象;比如通过Core Data取出Person实体时,并不会立即查询相关联的Card实体,当应用真的需要使用Card时,才会查询数据库,加载Card实体信息.
创建NSManagedObject的子类:
默认情况下,利用Core Data取出的实体都是NSManagedObject类型的,能够利用键-值对来存取数据.
但是一般情况下,实体在存取数据的基础上,有时还需要添加一些业务方法来完成一些其他任务,那么就必须创建NSManagedObject的子类.
// 那么生成一个Person实体对象就应该这样写
Person *person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:context];
person.name = @"JN";person.age = [NSNumber numberWithInt:24];
Card *card = [NSEntityDescription insertNewObjectForEntityForName:@”Card" inManagedObjectContext:context];
card.no = @”447640819";
person.card = card;
以上就是iOS中常用的应用数据存储方式及其详细用法,本文分别介绍了XML属性列表(plist)归档、Preference(偏好设置)、NSKeyedArchiver归档、SQLite3和Core Data,运用了实例详细介绍了实现过程及注意事项。希望本文对大家学习IOS开发能够有所帮助。也请大家继续支持ASPKU。
注:相关教程知识阅读请移步到IOS开发频道。










