为什么这段代码还可以?
@interface AddViewController : UIViewController <UIPickerViewDelegate>
{
IBOutlet UILabel *category;
IBOutlet UIPickerView *categoryPicker;
}
@end
但是这段代码不是
@interface AddViewController : UIViewController <UIPickerViewDelegate>
IBOutlet UILabel *category;
IBOutlet UIPickerView *categoryPicker;
@end
另外,我正在查看有关如何使用UIPickerView的视频,而不是为IBOutlet制作属性,他只是制作了出口。这显然与那些花括号的原因有关。
答案 0 :(得分:2)
category
和categoryPicker
是实例变量,而不是属性。您可以通过他们的名称直接引用它们,例category
或使用self->category
。
实例变量在花括号中声明,而属性则使用@property
声明实例变量没有setter和getter方法,而属性有。
答案 1 :(得分:0)
您需要更改&#34; IBOutlet UILabel *类别;&#34; to&#34; @property(非原子,强)IBOutlet UILabel *类别;&#34;,&#34; IBOutlet UIPickerView * categoryPicker相同;&#34;
在括号{}中,category和categoryPicker是实例变量,但是如果删除&#34; {}&#34;,则需要使用&#34; property&#34;这样他们的工作方式相同