gpt4 book ai didi

objective-c - IBInspectable 属性在 initWithCoder 中没有其值 : initializer

转载 作者:太空狗 更新时间:2023-10-30 03:50:26 26 4
gpt4 key购买 nike

我在 MyClass.h 文件中有这个:

#import <UIKit/UIKit.h>

IB_DESIGNABLE

@interface MyClass : UIView

@end

这是 .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;
}

在 awakeFromNib 方法中,我在 IB 中设置了正确的值。在 initWithCoder: 中,我将此值设置为零。

检查 IB 中为此属性设置的值的适当时间是什么时候?

这就是我在 .m 文件中定义属性的方式:

@interface MyClass()

@property (nonatomic) IBInspectable NSUInteger max;

@end

最佳答案

您似乎已经回答了您自己的问题:awakeFromNib 而不是 initWithCoder:awakeFromNib 是后来的,到那个时候,runtime 属性已经设置好了。

当然,在现实生活中,您可能不会关心这个值,直到我们到达 viewDidLoad,这比 两者都要晚得多。

关于objective-c - IBInspectable 属性在 initWithCoder 中没有其值 : initializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41088118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com