NS_SWIFT_NAME不起作用:“ swift_name”属性的参数名称标识符无效

时间:2019-04-11 23:54:46

标签: objective-c swift

我无处不在,它警告'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 :));

找不到任何类似的问题,也许我缺少明显的东西,但错误消息没有帮助我。

1 个答案:

答案 0 :(得分:1)

似乎您有一个习惯,在冒号前放置一些空格,这在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:));