2013-09-19 2 views
1

Я ищу NSString с письмом, чтобы найти символ @. Вот код:ObjC ищет @ в строке (код выхода iOS @)

NSRange range = [string rangeOfString:@"@"]; 
if (range.location != NSNotFound) // do stuff 

Вот ошибка я получаю ...

-[__NSCFNumber rangeOfString:]: unrecognized selector sent to instance 0x1e51c550 
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber rangeOfString:]: unrecognized selector sent to instance 0x1e51c550' 
+0

Можете ли вы показать нам, как вы инициализируете «строку» - переменную для сообщения «[string rangeOfString: @» @ "] '? – leanne

+0

Ваша «строка» не является NSString, а скорее NSNumber. –

+0

(Если вы искали «непризнанный селектор, отправленный в экземпляр», вы найдете это объясненным как минимум тысячу раз.) –

ответ

4

Ваши string переменная указывает на экземпляр NSNumber, а не экземпляр NSString. Вы инициализируете его неправильно.

+0

Спасибо, rob, вы правы. Я сохранял как NSNumbers, так и NSStrings в массиве, пытался использовать простой цикл for без проверки isKindOfClass или отвечалToSelector. Потерпеть неудачу. –

Смежные вопросы