Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么要使用强属性来保存选择器视图_Ios_Objective C_Ios5_Properties - Fatal编程技术网

Ios 为什么要使用强属性来保存选择器视图

Ios 为什么要使用强属性来保存选择器视图,ios,objective-c,ios5,properties,Ios,Objective C,Ios5,Properties,我在iOS开发的开始,即picker视图一章中看到了这个例子。 我不明白为什么它在这里使用一个强引用 @property (strong, nonatomic) IBOutlet UIDatePicker *datePicker; 我们总是使用弱属性来引用UI组件 他们的superview将保存一个子视图数组。(保存子视图数组,也保存每个子视图,对吗?) 因此,我认为我们可以使用弱引用来引用picker,它是主视图的子视图。主视图将保存采摘器。苹果公司建议这样做 我似乎记得以前的建议是相反的。

我在iOS开发的开始,即picker视图一章中看到了这个例子。 我不明白为什么它在这里使用一个强引用

@property (strong, nonatomic) IBOutlet UIDatePicker *datePicker;
我们总是使用弱属性来引用UI组件

他们的superview将保存一个子视图数组。(保存子视图数组,也保存每个子视图,对吗?)

因此,我认为我们可以使用弱引用来引用picker,它是主视图的子视图。主视图将
保存采摘器。

苹果公司建议这样做

我似乎记得以前的建议是相反的。如果是这样,那么您的示例很可能是在建议使用
strong
(或者
retain
,如果它最初早于ARC)时编写的


(我不认为这是重复的,因为这个问题是专门针对门店的,而不是关于
strong
strong
之间的根本区别)

不要依赖superview获得控制权。如果出于任何原因必须清除超级视图,则会失去控制。相反,允许该属性拥有它。有关弱属性和强属性之间区别的更多详细信息,请参见此链接:@Jeremy答案与我的理解相似,但我仍然不明白这本书为什么使用强属性。@Jeremy oh,你的意思是说,即使父母被解约,我们也不想在任何方面失去控制吗?@Jeremy你的评论与你添加的链接相冲突。澄清一下-如果清除了superview,则没有必要保留子视图(因此,非根视图通常使用弱视图)。您不应该将数据保存在视图中,因此如果移除控件,则不应该出现问题。