对于桥接的 Objective-C 方法,这个 Swift 名称宏中缺少啥?

Posted

技术标签:

【中文标题】对于桥接的 Objective-C 方法,这个 Swift 名称宏中缺少啥?【英文标题】:What is missing in this Swift name macro for a bridged Objective-C method?对于桥接的 Objective-C 方法,这个 Swift 名称宏中缺少什么? 【发布时间】:2021-02-15 19:18:28 【问题描述】:

Xcode 报告此警告:

'swift_name' 属性的参数必须是 Swift 函数名字符串"

用于以下功能。我不知道我写错了什么。

+ (CGFloat *)feedDetailWithUpdate:(PostUpdate *)update
                     trackingInfo:(nullable TrackingInfo *)trackingInfo
              highlightedComments:(NSArray<FeedComment *> *)highlightedComments
NS_SWIFT_NAME(feedDetailWithUpdate(update:trackingInfo:highlightedComments));

【问题讨论】:

【参考方案1】:

我想通了,参数列表末尾少了一个冒号:

NS_SWIFT_NAME(feedDetailWithUpdate(update:trackingInfo:highlightedComments:));

【讨论】:

以上是关于对于桥接的 Objective-C 方法,这个 Swift 名称宏中缺少啥?的主要内容,如果未能解决你的问题,请参考以下文章

当我们在 swift 类中使用 Objective-c 属性时的桥接问题

当我们在 swift 类中使用 Objective-c 属性时的桥接问题

Objective-C 桥接模式 -- 简单实用和说明

Swift 中的 Objective-C 方法参数

Swift 中的 Objective-C 方法参数

[精通Objective-C]专家级技巧:使用ARC