我的视图控制器类的 dealloc 方法在使用以下代码推送后弹出时不会被调用:
self.playerViewController = [[VideoPlayerViewController alloc] init];
[self.playerViewController set_video:video];
[self.navigationController pushViewController:self.playerViewController animated:YES];
[self.playerViewController release];
但是,如果我将推送代码更改为以下内容,则在弹出视图控制器后会适当地调用我的 dealloc:
playerViewController = [[VideoPlayerViewController alloc] init];
[playerViewController set_video:video];
[self.navigationController pushViewController:playerViewController animated:YES];
[playerViewController release];
我以为我了解点符号/自我的使用,但显然不是。谁能在这里解释这个问题?
这里是属性:
@property (nonatomic, retain) VideoPlayerViewController *playerViewController;
这是合成:
@synthesize playerViewController;