从 Objective-C 桥接到 swift 时,swift 编译器如何识别变量是复制的还是强的?

Posted

技术标签:

【中文标题】从 Objective-C 桥接到 swift 时,swift 编译器如何识别变量是复制的还是强的?【英文标题】:How swift compiler identifies variable is copy or strong while bridging from objective-C to swift? 【发布时间】:2018-07-09 11:36:49 【问题描述】:

(a)@property(nonatomic,copy) NSString *str1;

(b)@property(nonatomic,strong) NSString *str1;

swift 编译器如何识别变量是副本还是强,因为两个字符串都将转换为相同的。

var str1 = ""

【问题讨论】:

【参考方案1】:

Swift 不在乎它是“复制”还是“强”。 它将在目标 C 类中调用选择器 setStr1(...),目标 C 实现将决定是否应该进行复制或保留。

【讨论】:

以上是关于从 Objective-C 桥接到 swift 时,swift 编译器如何识别变量是复制的还是强的?的主要内容,如果未能解决你的问题,请参考以下文章

归档发布时,通过桥接头暴露的 Objective-c 类在 swift 中不可见

Objective-C Swift 桥接头

Objective-C Swift 桥接头

Swift 中的 Objective-C 方法参数

Swift 中的 Objective-C 方法参数

Objective-C++ 和 Swift - 桥接头中的嵌套结构