在[post][1]
之后,我试图解析ManagedObject中ObjectID的数字部分,其中自动增量显然位于通常不通过核心数据api公开的情况下。但是,我总是得到0作为回应。
有没有其他人这样做过,或者有人能看出为什么这不起作用?提前感谢任何建议。
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Item" inManagedObjectContext:self.managedObjectContext];
Items *newItem = [[Items alloc]initWithEntity:entity insertIntoManagedObjectContext:self.managedObjectContext];
NSURL *url = [[newItem objectID] URIRepresentation];
//get full url
NSString *url_string = [url absoluteString];
//split with a /
NSArray *parts = [url_string componentsSeparatedByString:@"/"];
NSString *last_segment=[parts objectAtIndex:[parts count]-1];
//p#
NSString *number_part = [last_segment stringByReplacingOccurrencesOfString:@"p" withString:@""];
NSUInteger auto_id = [number_part integerValue];
number_part =nil;
last_segment=nil;
parts=nil;
url=nil;
url_string=nil;
NSUInteger final_id = auto_id;
NSLog(@"NOW DISPLAYING AUTOID: autoid is:%lu",(unsigned long)final_id);
答案 0 :(得分:0)
汤姆哈灵顿提到,这是一个绝对可怕的想法。这是未记录的,可以并且将会改变,并且您无法保证它将在应用程序的生命周期之间继续增加。
创建您自己的唯一标识符,不要依赖-objectID
。