【发布时间】:2011-12-24 21:19:45
【问题描述】:
我想声明一个类型为 SEL 的属性,如下所示:
@property (nonatomic, assign) SEL mySelector;
这里的“assign”正确吗?或许assign可以省略?
【问题讨论】:
标签: objective-c properties selector
我想声明一个类型为 SEL 的属性,如下所示:
@property (nonatomic, assign) SEL mySelector;
这里的“assign”正确吗?或许assign可以省略?
【问题讨论】:
标签: objective-c properties selector
assign 是这里的正确注释。您可以将 assign 用于任何原始类型。替代方案(弱、强/保留)依赖于指向对象的属性来发挥作用。我相信编译器甚至不会让你为此声明错误的属性类型。如果你真的想要,你可以省略分配,因为它是默认值。
【讨论】:
@property (nonatomic, weak) SEL tapSelector; 导致错误,“具有‘弱’属性的属性必须是对象类型。”