iPad的Objective-C,你把IBOutlet放在哪里?在实例变量声明或@property声明中?有什么区别吗?
答案 0 :(得分:5)
IBOutlet可以是ivars或财产声明的标记。
略有不同。 IBOutlet属性通过访问方法,而IBOutlet ivars是直接ivar访问。
主要区别在于,如果保留IBOutlet属性,则必须在-dealloc
中释放它,而您通常不需要对IBOutlet ivar执行任何操作。 IBOutlet属性的优点是您可以获得属性的所有有用功能。
答案 1 :(得分:3)
两者都有效,即使通常建议将其放在财产上。
与属性的区别在于它可以从外部获得,并且使用了getter / setter方法。
这也允许属性限定符,如非原子和保留,通常为IBOutlets设置。
答案 2 :(得分:2)
mmalc(绝对是一个声誉良好的消息来源)说,目前的最佳做法是将其置于@property声明中。他在his answer to this quiestion
中提供了详细信息(以及一些注意事项)答案 3 :(得分:1)
两者都有效我建议您使用@property
答案 4 :(得分:0)
我这两个,并在.m文件中合成它。我不是百分之百,他们都是必不可少的,但它并没有伤害。