Cocoa touch 我应该为控制器类变量使用@property吗?
问题是我应该为视图控制器使用属性吗 考虑以下情况:Cocoa touch 我应该为控制器类变量使用@property吗?,cocoa-touch,Cocoa Touch,问题是我应该为视图控制器使用属性吗 考虑以下情况: 我在父类中有一个视图控制器对象:MyViewController*myVC 我没有在父类的dealloc方法中释放此视图控制器 我使用的视图控制器如下所示: // Allocate and Initialize view controller myVC = [[MyViewController alloc] initWithNibName:@"newView" bundle:nil]; // Push View Controller [sel
// Allocate and Initialize view controller
myVC = [[MyViewController alloc] initWithNibName:@"newView" bundle:nil];
// Push View Controller
[self.navigationController pushViewController:myVC animated:YES];
// Release memory
[myVC release];
myVC = nil;
这种方法有什么问题吗 布拉德·拉森说的话。除非在所属类的dealloc方法中释放myVC,否则myVC将泄漏。将其设置为属性不会影响此行为(itemEditVC变量来自何处?)将其作为属性公开的唯一原因是,如果外部类需要访问此变量,并且您希望在修改此属性时确保正确的释放/保留语义。在修订的代码中,myVC由导航控制器保留,当它从堆栈中弹出时将被释放(并解除分配)。如果这是您正在寻找的行为,那么是的,这段代码很好
如果您需要myVC挂起以供以后重用或做其他事情,那么请将版本移动到父类的dealloc方法,并将赋值删除为nil。我不理解您的问题。itemEditVC应该是myVC吗?属性到底从何而来?很抱歉,修改过的代码片段。myVC是在推送之后立即释放的变量。