我有一个ViewController,FooViewController
可以说它有一个属性:
@property (nonatomic, strong) NSAttributedString *foo;
我想在视图出现时更新UI,所以viewDidLoad
和foosetter
就像这样:
- (void)viewDidLoad
{
[super viewDidLoad];
self.foo = [[NSAttributedString alloc] initWithString:@"test" attributes:@{ NSForegroundColorAttributeName : [UIColor greenColor]} ];
}
- (void)setFoo:(NSAttributedString *)foo
{
_foo = foo;
if (self.view.window) [self updateUI];
}
我期望updateUI
在屏幕上显示视图时会调用method,但是没有。仅当我删除时if (self.view.window)
,才调用该方法。这是什么问题?
谢谢
将代码移至viewDidAppear
(或只是调用的位[self updateUI]
)。
加载仅表示已从NIB反序列化,而出现则表示它是视图层次结构的一部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句