Ошибка после обновления до xcode 4.6 и iOS 6.1 "используется как имя предыдущего параметра, а не как часть селектора"

После обновления до xcode 4.6 и ios6.1 я получаю эту новую ошибку "'objectType', которая используется как имя предыдущего параметра, а не как часть селектора . Я получаю это несколько раз. Есть идеи?

PS: Метод, который он отображает, является обычным для обратного геокодирования.

-(void) getAddress: (NSString *) objectType: (CLLocationCoordinate2D) objectCoordinate
12
nl ja de

3 ответы

Он говорит, что objectType является именем объекта NSString в вашем методе, а не частью имени метода, и его нельзя использовать как objectType: (CLLocationCoordinate2D) objectCoordinate , который обычно обозначает часть имени метода.

В идеале вы должны измениться,

-(void) getAddress: (NSString *) objectType: (CLLocationCoordinate2D) objectCoordinate

к более читаемым,

-(void) getAddress:(NSString *)objectType coordinate:(CLLocationCoordinate2D) objectCoordinate;

Вышеприведенная ошибка также может быть исправлена ​​путем помещения пробела между objectType и следующим параметром в определении метода (например: - - (void) getAddress: (NSString *) objectType: (CLLocationCoordinate2D) objectCoordinate ). Обратите внимание на пробел после objectType .

<Сильный> Update

Чтобы ответить на вопрос в комментариях, вы можете использовать приведенную ниже строку для подавления этих предупреждений:

#pragma clang diagnostic ignored "-Wmissing-selector-name"

Добавьте это в свой файл pch. Я не уверен, что это будет работать для вашего случая, когда оно исходит из библиотеки, но вы можете попробовать. Проверьте этот clang-trunk для более подробной информации.

24
добавлено
Если методы принадлежат вам, то вы можете пойти дальше и внести эти изменения и исправить предупреждение. У вас есть предложения по поводу того, что делать, если предупреждения поступают из библиотеки, которую вы используете? Любые настройки сборки, с которыми вы столкнулись, возможно?
добавлено автор Guven, источник
@Guven, Не уверен, будет ли это работать, но вы можете попробовать с #pragma clang diagnostic ignored "-Wmissing-selector-name" в вашем файле pch. Обновлен мой вопрос.
добавлено автор iDev, источник
Исправление: Обновлен мой ответ .
добавлено автор iDev, источник
@ABC, у вас есть так называемая «умная цитата» в конце вашего pch #pragma.
добавлено автор Tony Adams, источник

Это все о расстоянии, дорогая ..., поскольку @Martin R сказал re: this,

Достаточный смысл, здесь, что Xcode закрывает ад ...

В духе этой нечетной части синтаксических мелочей ... вот мой любимый заголовочный файл Cocoa, КОГДА-ЛИБО. и да, это все допустимые имена методов, хе-хе.

@interface NSString (JASillyString)
-:a;
-:a :b;
-:a :b :c;
-:a :b :c :d;
-:a :b :c :d :e;
-:a :b :c :d :e :f;
-:a :b :c :d :e :f :g;
-:a :b :c :d :e :f :g :h;
-:a :b :c :d :e :f :g :h :i;
-:a :b :c :d :e :f :g :h :i :j;
-:a :b :c :d :e :f :g :h :i :j :k;
-:a :b :c :d :e :f :g :h :i :j :k :l;
-:a :b :c :d :e :f :g :h :i :j :k :l :m;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w :x;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w :x :y;
-:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w :x :y :z;
@end

Ваш метод объявляет селектор С пробелами,

-(NSString *)testMethod:(double)price :(BOOL)flag;

Обратите внимание, что .h и .m оба одинаковые и равные пробелы

При возврате метода, на этот раз осторожно о методе и его аргументах. как [self testMethod: 4.5 (пробел): TRUE];

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.