使用@property

时间:2014-07-26 14:29:29

标签: ios objective-c

为什么这段代码还可以?

@interface AddViewController : UIViewController <UIPickerViewDelegate>
{


IBOutlet UILabel *category;
IBOutlet UIPickerView *categoryPicker;


}
@end

但是这段代码不是

@interface AddViewController : UIViewController <UIPickerViewDelegate>



IBOutlet UILabel *category;
IBOutlet UIPickerView *categoryPicker;



@end

另外,我正在查看有关如何使用UIPickerView的视频,而不是为IBOutlet制作属性,他只是制作了出口。这显然与那些花括号的原因有关。

2 个答案:

答案 0 :(得分:2)

categorycategoryPicker是实例变量,而不是属性。您可以通过他们的名称直接引用它们,例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;这样他们的工作方式相同