Ошибка iOS — нераспознанный селектор

Мэйн.м

NSDictionary *additionalQueryParameters = [NSURL ab_parseURLQueryString:[url query]];

OAuth.h

@interface NSURL (OAuthAdditions)

+ (NSDictionary *)ab_parseURLQueryString:(NSString *)query;

@end

OAuth.m

@implementation NUSL (OAuthAdditions)

+ (NSDictionary *)ab_parseURLQueryString:(NSString *)query
{
 does something..
}

Когда он запускает эту строку, он выдает эту ошибку...

03.12.2012 15:10:58.506[12500:1d403] +[NSURL ab_parseURLQueryString:]: нераспознанный селектор отправлен в класс 0xaece26c

2012-12-03 15:10:58.508[12500:1d403] * Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «+[NSURL ab_parseURLQueryString:]: нераспознанный селектор отправлен в класс 0xaece26c»

* Первый бросок стека вызова: (0xada8012 0xa3d6e7e 0xae332ad 0xAd97bbc 0xad97944e 0x17b5ee8 0x17b5724 0x17b58d6 0xa84f53f 0xa861014 0xa8522e8 0xa851fcb 0x96097b24 0x960996fe) libc ++ abi.dylib: терминал

Любая идея, почему он не может найти его и как это исправить? Спасибо.


person unwise guy    schedule 03.12.2012    source источник
comment
Является ли метод в OAuth.m внутри @implementation (OAuthAdditions)?   -  person rmaddy    schedule 04.12.2012
comment
Отсутствие импорта вызовет предупреждение компилятора, но не ошибку времени выполнения.   -  person bbum    schedule 04.12.2012
comment
Верно ли целевое членство OAuth.m?   -  person rmaddy    schedule 04.12.2012
comment
да, я импортировал файл .h в класс, который его использует.   -  person unwise guy    schedule 04.12.2012
comment
Ни один из ответов ниже не решил этот вопрос   -  person unwise guy    schedule 22.01.2013


Ответы (2)


Убедитесь, что OAuth.m действительно находится в цели и встроен в ваш проект....

person bbum    schedule 03.12.2012
comment
Я проверил расположение файлов, и они находятся в моем проекте — подтверждает ли это, что они находятся в цели и сборке? - person unwise guy; 04.12.2012
comment
Нет. Выберите файл .m в навигаторе проекта. Затем щелкните меню «Вид» и выберите «Утилиты», затем «Показать инспектор файлов». В инспекторе файлов просмотрите раздел «Целевое членство». Убедитесь, что отмечены соответствующие цели. - person rmaddy; 04.12.2012

Реализация вашей категории (OAuth.m) называется NUSL, а не NSURL. Компилятор в порядке с этим методом, так как интерфейс категории (заголовок) назван правильно.

person wjl    schedule 10.12.2012