Objective-c 中 SEL 类型的属性

Posted

技术标签:

【中文标题】Objective-c 中 SEL 类型的属性【英文标题】:Property with type SEL in Objective-c 【发布时间】:2011-12-24 21:19:45 【问题描述】:

我想声明一个类型为 SEL 的属性,如下所示:

@property (nonatomic, assign) SEL mySelector;

这里的“assign”正确吗?或许assign可以省略?

【问题讨论】:

【参考方案1】:

assign 是这里的正确注释。您可以将 assign 用于任何原始类型。替代方案(弱、强/保留)依赖于指向对象的属性来发挥作用。我相信编译器甚至不会让你为此声明错误的属性类型。如果你真的想要,你可以省略分配,因为它是默认值。

【讨论】:

已确认并 +1,此 @property (nonatomic, weak) SEL tapSelector; 导致错误,“具有‘弱’属性的属性必须是对象类型。”

以上是关于Objective-c 中 SEL 类型的属性的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C中的SEL (转载)

Objective-C Runtime 运行时之三:方法与消息(转载)

在 Swift 3 的值类型中访问 Objective-C 类别的属性(关联参考)

在 Swift 3 的值类型中访问 Objective-C 类别的属性(关联参考)

Objective-C 多线程

Objective-C 错误:属性“活动”是类“例程”上的标量类型。无法为其生成 getter 方法