【发布时间】:2014-08-15 21:19:23
【问题描述】:
我正在使用 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"];
【问题讨论】:
-
你能分享一个你迄今为止尝试过的例子吗?
-
我检查了上面的链接,它创建了唯一 ID,但不是 auto_increment。核心数据有没有类似于 MySQl 中的 auto_increment 的东西?
-
为什么需要自动增量属性?大多数情况下,在 mysql 中,它用于获取唯一键 - 在 coredata 中,将自动管理唯一 id (objectID)
-
如果您想通过创建添加属性存储日期或 unix 时间戳来对对象进行排序。如果您希望已经为您处理的对象核心数据的唯一性 - 请阅读 stackoverflow.com/questions/1351998/…
标签: ios core-data xcode5 auto-increment nsmanagedobject