Iphone 带保留计数的Presentmodalviewcontroller方法问题
我试图提出一个模态视图控制器。我读过文档,但有些奇怪。这是我的密码:Iphone 带保留计数的Presentmodalviewcontroller方法问题,iphone,objective-c,ipad,Iphone,Objective C,Ipad,我试图提出一个模态视图控制器。我读过文档,但有些奇怪。这是我的密码: NSLog(@"rc: %d", [modalViewController retainCount]); UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:modalViewController]; [self presentModalViewController:n
NSLog(@"rc: %d", [modalViewController retainCount]);
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:modalViewController];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
NSLog(@"rc: %d", [modalViewController retainCount]);
并在控制台上显示:
rc:2rc:24
我觉得24岁很奇怪。。。你喜欢吃什么?为什么会发生这种情况?您不应该太担心retain count的值。当使用这样的系统调用时,可能会发生任意数量的保留/释放周期
如果视图控制器的显示方式正确,那么问题出在哪里?我不知道您的具体问题,但是-[NSObject retainCount]返回一个整数,因此您应该在格式字符串中使用%u,而不是%d。好的,我已改为%u。这是一样的。在我关闭我的ModalViewController后出现内存泄漏,但我找不到泄漏的位置:(好的,我找到了。我设置了一个这样的属性:self.prop=[data retain];我现在很为自己生气……我不同意“不要太担心retain计数”……正如Infinity所说,他们发现了[data retain]调用的问题,这会在以后引起问题。“不担心retain计数”永远是不对的。