2012-07-24 72 views
0

此前ARC我会在头声明IBOulets如下:在ARC下的头文件中声明IBOutlets的正确方法?

- (IBOutlet) UIButton * aButton 

@property (nonatomic, retain) IBOutlet UIButton * aButton; 

然后在.m文件

@synthesize aButton; 

什么是下弧线做上述相当于正确方法是什么?我只是申报:

@property (weak)IBOutlet UIButton * aButton ? 

谢谢。

+0

这里有更好的回答您的问题 http://stackoverflow.com/questions/7678469/should-iboutlets-be-strong-or-weak-under -arc – 2012-07-24 14:41:18

+0

文档说你应该为插座使用'strong'指针,但是如果你在'UIView'内的静态插座上使用'weak'或者'unsafe_unretained'指针,这个指针也会被'strong'指针捕获,你将来不会有任何问题。 – holex 2012-07-24 14:43:26

+0

您曾经声明IBOutlet就像那样...? – TheAmateurProgrammer 2012-07-24 14:58:21

回答

1

在某些情况下,您可能需要更改strong/weak属性。看一看:Should IBOutlets be strong or weak under ARC?

enter image description here

+0

是的,谢谢 - 我读过,但我不确定什么是“链接到文件所有者的顶级对象”的意思 – GuybrushThreepwood 2012-07-24 14:46:45

+1

mattjgalloway的评论总结了这个概念:“它意味着NIB中位于根级别的对象,即说实例化另一种观点并不直接作为主要观点的子视图,那么它需要有一个强有力的参考。“当您在界面生成器中查看NIB的对象时,大部分嵌套在主视图下。这些可能是弱引用。如果您在根级别有任何其他视图,那么这些视图需要被强引用。 – 2012-07-24 14:56:10

3
@property (strong)IBOutlet UIButton *aButton