【发布时间】:2013-05-10 01:19:24
【问题描述】:
Outlets 可以这样创建
@interface SearchViewController : UIViewController<UISearchBarDelegate> {
IBOutlet UIView *viewSearchBar;
IBOutlet UIScrollView *scrollVieww;
IBOutlet UILabel *lblName;
}
也喜欢这样
@interface SearchViewController : UIViewController<UISearchBarDelegate> {
}
@property(nonatomic, weak) IBOutlet UIScrollView *scrollVieww;
@property(nonatomic, weak) IBOutlet UIView *viewSearchBar;
@property(nonatomic, weak) IBOutlet UILabel *lblName;
@end
我知道 ARC 中的 nonatomic/atomic strong/weak,但在第一个示例中它们是什么? strong、weak、nonatomic 或 atomic。
请解释或链接我的一些细节。
【问题讨论】:
-
老实说,属于视图的出口在 ARC 中被声明为强还是弱并不重要,因为视图将对元素有强引用。
-
请记住 viewDidUnload 在 iOS6 中已被弃用并且不再被调用。因此,如果您的部署目标 >=6.0,您可以愉快地摆脱所有 viewDidUnload 代码 :)
-
@RaheelSadiq Apple 建议
IBOutletreferences be weak (因此是您的第二个示例),顶级对象除外。虽然该文档专注于 NIB,但故事板也是如此。 -
@Rob 是的,我做到了,我主要维护一个手动释放/保留项目,所以我对 ARC 的某些部分有点生疏,但我确实记得,谢谢。
-
@Rob 感谢您的链接
标签: ios objective-c properties iboutlet