首页 > 解决方案 > NS_SWIFT_NAME 不起作用:“swift_name”属性的参数名称标识符无效

问题描述

我到处都是,它警告“swift_name”属性的参数名称标识符无效,并且 NS_SWIFT_NAME 没有传播到 swift,所以根本不工作。我尝试了各种名称。我想也许我有一些配置问题,但在哪里?

- (instancetype)resizeByPadding    :(CGFloat) padding
    NS_SWIFT_NAME(resizeBy(padding :));

- (instancetype)addLeft    :(CGFloat) value
    NS_SWIFT_NAME(add(left :));

- (instancetype)addTop    :(CGFloat) value
    NS_SWIFT_NAME(add(top :));

- (instancetype)addRight    :(CGFloat) value
    NS_SWIFT_NAME(add(right :));

- (instancetype)addBottom    :(CGFloat) value
    NS_SWIFT_NAME(add(bottom :));

找不到任何类似的问题,也许我遗漏了一些明显的东西,但错误消息对我没有帮助。

标签: objective-cswift

解决方案


似乎您有在冒号前放置一些空格的习惯,这在 Objective-C 和 Swift 社区中都很少见。

并且NS_SWIFT_NAME不接受那种空间。

请尝试删除它们:

- (instancetype)resizeByPadding:(CGFloat) padding
NS_SWIFT_NAME(resizeBy(padding:));

- (instancetype)addLeft:(CGFloat) value
NS_SWIFT_NAME(add(left:));

- (instancetype)addTop:(CGFloat) value
NS_SWIFT_NAME(add(top:));

- (instancetype)addRight:(CGFloat) value
NS_SWIFT_NAME(add(right:));

- (instancetype)addBottom:(CGFloat) value
NS_SWIFT_NAME(add(bottom:));

推荐阅读