假设我有一个 ViewController,FooViewController它有一个属性:
@property (nonatomic, strong) NSAttributedString *foo;
Run Code Online (Sandbox Code Playgroud)
我想在视图出现时更新 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];
}
Run Code Online (Sandbox Code Playgroud)
我预计updateUI当视图在屏幕上时会调用该方法,但事实并非如此。仅当我删除时if (self.view.window),才会调用该方法。这里有什么问题?
谢谢
| 归档时间: |
|
| 查看次数: |
2473 次 |
| 最近记录: |