是否在最新的Clang / LLVM中推断了所有权限定符?

时间:2013-12-04 22:11:34

标签: objective-c clang llvm

所以,错误地,我发现这两个,都编译得很好:

@property (nonatomic) UIButton* addButton;
@property (nonatomic) CGRect keyboardRect;

您可能知道,默认所有权限定符应为strong,并且由于CGRect无法使用该限定符,因此我猜测它会被推断为{{1} }。但是,我在Clang文档中没有发现任何相关内容。这件事记录了吗?

1 个答案:

答案 0 :(得分:1)

限定符strongweakunsafe_unretained仅适用于ARC管理的对象(例如块,id类型的对象等)。对于CGRect类型的属性,根本没有所有权限定符。

以下是Clang文档中的参考资料:

Retainable object pointers

Ownership qualification

所有权限定部分仅适用于可保留的对象指针类型。