财产价值没有被保存

时间:2012-11-25 03:49:01

标签: objective-c ios xcode properties

我的一个视图控制器中有一个属性。我在另一个视图控制器中设置了值,如下所示:

iDBArticleViewController *ArticleViewController;

if (ArticleViewController == nil)
{
    ArticleViewController = [[iDBArticleViewController alloc] init];
}


ArticleViewController.bannerIsVisible = [NSNumber numberWithInt:0];

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
[ArticleViewController layoutForInterfaceOrientation:orientation];

当调用方法layoutForInterfaceController:时,调试控制台打印出0就像我为iDBArticleViewController设置属性一样。当我在另一个地方再次调用相同的方法时,调试控制台会打印出属性bannerIsVisible为nil。问题可能是因为我在我的代码中的另一个地方调用该方法而没有再次设置该属性?我预计该物业不会设为零。财产不应该保持它的价值吗?我像这样初始化属性:@property (nonatomic, strong) NSNumber *bannerIsVisible;

1 个答案:

答案 0 :(得分:1)

“当我在另一个地方再次调用相同的方法时,调试控制台会打印出属性bannerIsVisible为nil。”

如果你在其他类中使用相同的代码调用相同的方法,那么可能你正在创建一个ArticleViewController的新实例,它的bannerIsVisible将是nil。

如果要在整个过程中使用相同的实例及其值,可以选择共享实例/单例类。

相关问题