任何人都可以解释为什么self.mathFunc.text = null
在输出中?
代码:
-(id) initWithValue:(NSString *) value {
self = [self init];
NSLog(@"value %@",value);
self.mathfunc.text = value;
NSLog(@"self.mathFunc.text %@",self.mathfunc.text);
[self setLabel];
return self;
}
,输出
014-01-10 15:18:09.566 MathRacer[1573:a0b] value Div
2014-01-10 15:18:09.568 MathRacer[1573:a0b] self.mathFunc.text (null)
答案 0 :(得分:5)
我猜self.mathfunc
为空,因此您无法为其属性分配内容。
编辑:
您正在尝试在初始化中设置IBOutlet的属性,但此时没有UI。您必须将此代码移至- (void)viewDidLoad
,然后分配IBOutlets
。
答案 1 :(得分:2)
在为其分配任何值之前,您必须分配self.mathFunc
。当你调用initWithValue
方法时,如果值是原始的,则自带类创建一些默认值,然后它获得标量值,或者如果类包含引用类型对象,则默认情况下它生成为(null)。
您可以看到是否在initWithValue
方法的第一行放置了断点,然后在isa
指针的打印描述中,您将获得所有方案。
查看此链接会对您有所帮助: - What does isa mean in objective-c?