我有一个名为ContentViewControllerPartial
的课程UIViewController
。我使用了几次实例化它
content = [self.storyboard instantiateViewControllerWithIdentifier:@"ContentViewControllerPartial"];
希望每次都能得到一个新实例。
在我班上我有一个实例变量:
@implementation ContentViewController
...
AVPlayer* mPlayerAV;
在viewDidLoad期间实例化:
- (void)viewDidLoad {
[super viewDidLoad];
...
if ( !mPlayerAV )
{
mPlayerAV = [AVPlayer playerWithURL: videoURL];
}
令我惊讶的是,我的每个ContentViewControllerPartial类共享同一个mPlayerAV实例!这显然是因为它在第二和第三次实例中并不是零。
只有当我将mPlayerAV转换为属性时,我才得到预期的行为 - mPlayerAV不再在实例之间共享,并且为零。
这里发生了什么?为什么在实例之间共享私有实例变量?
答案 0 :(得分:1)