objc中的“强”资格

时间:2011-10-24 08:53:46

标签: objective-c xcode4.2

我使用xcode4.2创建一个新项目,并查看AppDelegate:


@property (strong, nonatomic) UIWindow *window;

我知道strong 是ARC的Xcode的新资格。但是在创建项目时我没有选择使用ARC。结果我很无聊。 此外,以下是什么意思:


@synthesize window = _window;

_window是实例变量吗?但它没有在头文件中声明。我可以理解标题中是否声明了_window但是这种样式失败了。 它是一种现代的obj-c运行时吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

strong实际上与retain相同。我不确定编译器是否会自动将其转换为非ARC代码的保留。如果没有,它应该产生我想的警告。

@synthesize window = _window;

表示属性window的支持实例变量为_window。在iOS和64位OS X的现代运行时,如果未在标题中明确声明实例变量,则会自动创建实例变量。