Ошибка сообщения экземпляра в Objective-C, что это значит? И почему это происходит? - PullRequest
0 голосов
/ 15 октября 2011

Я получаю сообщение об ошибке ниже без видимой причины, я бы попытался исправить это сам, но я не могу понять, что это значит.Кто-нибудь еще это понимает?Здесь ошибка, а под ней код.

Ошибка: Тип получателя 'NSdata' для сообщения экземпляра не объявляет метод с типом селектора 'EncryptAES:'

Я добавил комментарий к строке сошибка на нем:

//Change the Input String to Data
NSData *objNSData = [NSData dataWithData:[Input dataUsingEncoding: NSUTF8StringEncoding]];
//Encrypt the Data
[objNSData EncryptAES:Keyword.text]; //Error appears here
NSString *InputString = [[NSString alloc] initWithData:objNSData encoding:NSUTF8StringEncoding];

Что это значит, почему это происходит и что я могу сделать, чтобы это исправить?

И что означает сообщение экземпляра

Ответы [ 2 ]

3 голосов
/ 15 октября 2011

Проблема в том, что NSData не отвечает на селектор EncryptAES:.Вы можете вызывать только те селекторы, которые существуют в классе.При свободной типизации во время выполнения Objective C вы также можете вызывать селектор в классе, который не отвечает на указанный селектор, при условии, что селектор появляется в реализации хотя бы одного другого класса, с которым работает компилятор.

Все стандартные методы NSData можно найти в справочнике классов NSData .У Apple есть пример кода для шифрования, но он не встроен в NSData.

0 голосов
/ 15 октября 2011

Я предполагаю, что вы пытаетесь использовать "категорию" AESEncrypt для NSData, но у вас фактически нет категории, установленной в вашем проекте.

...