Почему я получаю это предупреждение / ошибку? - PullRequest
0 голосов
/ 05 сентября 2011

Я собрал некоторый код, который преобразует строки в данные, а затем помещает данные в другое текстовое поле.Все работает нормально, но когда я запускаю программу и нажимаю на кнопку с действием IB, которое содержит этот код:

[InputData setStringValue:OutputString];

Я получаю эту ошибку:

Тема 1: ПрограммаПолученный сигнал: "SIGABRT".

И в области вывода в нижней части XCode я получаю это сообщение:

Завершение приложения из-занеобработанное исключение 'NSInvalidArgumentException', причина: '- [NSConcreteMutableData setStringValue:]: нераспознанный селектор, отправленный экземпляру 0x62507e0'

Почему это происходит?Предупреждение говорит мне, что:

Метод экземпляра -setStringValue 'не найден (тип возвращаемого значения по умолчанию равен id)

Что происходит, я просмотрел его и, похоже, он должен работать.Что я делаю неправильно?Я только начинающий с Objective-C.

Спасибо, все ценится.

Ответы [ 3 ]

2 голосов
/ 05 сентября 2011

Согласно отладчику, ваш InputData объект является экземпляром NSMutableData, у которого нет setStringValue метода. Просмотрите свой код и убедитесь, что вы вызываете метод объекта, на который вы действительно пытаетесь нацелиться.

1 голос
/ 11 сентября 2011

Похоже, в NSData есть категория, которая включает метод setStringValue. Файл реализации категории, вероятно, называется чем-то вроде NSData-extras.m. Убедитесь, что файл был добавлен в XCode (и, если он уже известен XCode, является частью создаваемой цели).

0 голосов
/ 05 сентября 2011

Предполагая, что ваши InputData должны быть UITextField, попробуйте это:

[InputData setText:OutputString];
...