XCode iPhone自动属性,合成和delloc

nec*_*ixy 6 iphone xcode refactoring

我从过去的1-2个月开始为iPhone开发并且一直用于获取IBOutlet我使用以下方法来声明任何属性:

在.h文件中:

@interface ....
{
     controlType varName;
}

@property() IBOutlet controlType varName;
Run Code Online (Sandbox Code Playgroud)

在.m文件中:

在顶部 -

@synthesize varName;

in delloc method - [varName release];

Run Code Online (Sandbox Code Playgroud)

虽然这种方法很好但是在宣布财产时需要花费几分钟时间并不是很好.

是否有任何自动过程来声明属性,IBOutlets,IBActions或基本数据变量.

我希望这个场景应该有一些自动方法,因为这是一个非常基本的过程.

谢谢大家.

Rog*_*Rog 8

另一个没有多少人知道的是你可以从Interface Builder拖到你的头文件来创建IBActions或IBOutlets.

注意:打开辅助编辑器,重点关注IB内的XIB.

如果以这种方式创建IBOutlets,Xcode会自动添加属性,合成它,在viewDidUnload中将其设置为nil并在dealloc中释放它.

您只需将IB对象拖动到头文件,就像在视图对象和文件所有者之间创建连接时一样(下面的屏幕截图). 在此输入图像描述


Fat*_*tie 4

事实上,是的!

您不再需要声明实际的 iVar。

简而言之,只需省略这部分:controlType varName;

目前,您仍然需要明确地“综合”。

(据我所知,他们将来可能会实现自动化。但现在你必须“综合”来创建 setter 和 getter。)

您仍然需要释放内存 - 实际上没有办法实现自动化,因为内存处理是“真正的人性编程”。

对于任何新朋友阅读,不要忘记“自我”。使用该财产时的一部分。

另外请注意,XCode4 甚至还有一个新的自动功能。 只需从界面生成器拖动到您的 .h 文件,它就会为您完成所有操作 - 试试吧!


回答您的补充问题:IBOutlet 并不特别需要成为财产 - 您可以使用普通的廉价 iVar。另一方面,如果您愿意,您可以使用财产。此外:您甚至可以使用新技巧(2011),不必费心声明 ivar,只需使用属性声明,然后将 IBOutlet 推入其中即可!