Lud*_*uda 10 objective-c xib ios
为了初始化具有xib的视图,我使用了initWithCoderfunction.但是,如果我需要使用自定义参数初始化xib,该怎么办呢?
我需要这样的东西:
- (id)initWithCoder:(NSCoder *)aDecoder
andTitle:(NSString *)titleString
{
self = [super initWithCoder:aDecoder];
if (self) {
self.titleLabel = titleString;
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
我什么时候打电话给它?之后awakeFromNib?
Wai*_*ain 11
您无法修改此initWithCoder:方法,因为该方法是在您无法控制的协议中定义的.相反,您需要setTitle:在创建对象之后调用该方法,可能在其中awakeFromNib,或者从拥有控制器调用该方法.
您通常不会自己调用initWithCoder,因此您无法将自定义参数传递给它.该方法将由nib加载机制调用,您无法控制它.
你肯定不会从awakeFromNib中调用它 - 该对象已经被该点初始化,因此你无法重新调用它.
最简单的解决方案是将自定义参数公开为属性,并在创建视图后设置它们.
| 归档时间: |
|
| 查看次数: |
5084 次 |
| 最近记录: |