Objective c 这算是财产吗?

Objective c 这算是财产吗?,objective-c,cocoa-touch,properties,Objective C,Cocoa Touch,Properties,我刚刚跳进了目标C 当我创建一个按钮并将其连接到我的代码时,我在我的属性部分得到以下代码行: IBOutlet UIButton *btn; 我了解到属性语法是[class]*[variable name] 在这种情况下,IBOutlet是什么?您使用过interface builder吗?IBOutlet是一个宏,允许您从代码中引用interface builder中的视图。在您的例子中,它允许您将UIButton连接到interface builder,以便您可以在代码中使用对它的引用。除

我刚刚跳进了目标C

当我创建一个按钮并将其连接到我的代码时,我在我的属性部分得到以下代码行:

IBOutlet UIButton *btn;
我了解到属性语法是
[class]*[variable name]


在这种情况下,
IBOutlet
是什么?

您使用过interface builder吗?IBOutlet是一个宏,允许您从代码中引用interface builder中的视图。在您的例子中,它允许您将UIButton连接到interface builder,以便您可以在代码中使用对它的引用。除了用于让interface builder将变量连接到视图之外,它根本不被使用,实际上什么都不解析。

这不是属性。这只是一个变量声明。其属性版本为

@property (nonatomic, retain) IBOutlet UIButton *btn;
然后在您的实现文件中,您将

@synthesize btn

就在
@implementation
行的下方。

否。IBOutlet只是一个宏,用于执行

它们的目的只是让Interface Builder知道可以使用变量(在您的例子中是UIButton*btn)将UI元素链接到Xcode中的代码