NS_SWIFT_NAME не работает: атрибут 'swift_name' имеет неверный идентификатор для имени параметра - PullRequest
0 голосов
/ 12 апреля 2019

Я получаю его повсюду, его предупреждение 'атрибут 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 голосов
/ 12 апреля 2019

Кажется, у вас есть обычай ставить пробелы перед двоеточием, что редко встречается как в 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:));
...