Whi*_*ind 5 xcode objective-c uikit ibdesignable ibinspectable
我在MyClass.h文件中有此文件:
#import <UIKit/UIKit.h>
IB_DESIGNABLE
@interface MyClass : UIView
@end
Run Code Online (Sandbox Code Playgroud)
这是.m文件中的代码:
-(void)awakeFromNib{
[super awakeFromNib];
NSLog(@"This works %lud",(unsigned long)self.max);
}
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
if ((self = [super initWithCoder:aDecoder])){
NSLog(@"This doesn't work %lud",(unsigned long)self.max);
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
在awakeFromNib方法中,我在IB中设置了正确的值。在initWithCoder中:此值等于零。
检查该属性中在IB中设置的值的合适时间是什么?
这就是我在.m文件中定义属性的方式:
@interface MyClass()
@property (nonatomic) IBInspectable NSUInteger max;
@end
Run Code Online (Sandbox Code Playgroud)
您似乎已经回答了自己的问题:awakeFromNib而不是initWithCoder:。awakeFromNib稍后,到那时,已经设置了运行时属性。
当然,在现实生活中,直到我们达到时,您可能才会在意此值viewDidLoad,这要比两者都晚得多。
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |