Bar*_*cha 6 memory-management core-data objective-c ios
我想知道是否有人可以解释为什么新创建的托管对象的保留计数为2.这是我正在使用的代码:
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
Album *newAlbum = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
NSLog(@"Album retain count: %d", [newAlbum retainCount]);
Run Code Online (Sandbox Code Playgroud)
根据该insertNewObjectForEntity方法的文档,它返回一个新创建的自动释放对象.所以我希望保留计数为1而不是2.有人能解释一下吗?
保留计数不保证准确,您可能遇到过这样的情况.
我做了一个示例项目,其中对象alloc/init的保留计数为2,释放时为0,等等...