Anu*_*hye 20 core-data auto-increment nsmanagedobject ios xcode5
我正在使用Core Data,并希望将auto_increment ID设置为唯一的字段之一.是否可以使用核心数据在iOS中设置auto_increment?任何人都可以帮我一个如何实现这个的小例子?
下面是我在数据库中插入记录的代码.在第一个字段"id"中,我想将其设置为auto_increment而不是手动插入它.
- (NSManagedObjectContext *)managedObjectContext {
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)]) {
context = [delegate managedObjectContext];
}
return context;
}
NSManagedObjectContext *context = [self managedObjectContext];
// Create a new managed object
NSManagedObject *newObj = [NSEntityDescription insertNewObjectForEntityForName:@"Users" inManagedObjectContext:context];
[newObj setValue:[NSNumber numberWithInt:userId] forKey:@"id"];
[newObj setValue:theFileName forKey:@"Name"];
Run Code Online (Sandbox Code Playgroud)
Tom*_*ton 28
核心数据没有自动增量功能.它在内部使用SQLite的事实大多是无关紧要的 - 如果你专注于类似SQL的细节,你会得到核心数据严重错误.
如果你想要一个递增字段,你必须自己管理它.您可以在应用中保存当前值NSUserDefaults
.或者您可以将其放在Core Data使用的持久性存储文件的元数据中(请参阅方法NSPersistentStoreCoordinator
).要么是好的,只要确保查找,增加它,并在创建新对象时重新保存它.
但是你可能不需要这个领域.核心数据已经为每个托管对象处理唯一ID - 请参阅NSManagedObjectID
.
归档时间: |
|
查看次数: |
20824 次 |
最近记录: |