我得到以下错误没有明显的原因,我会尝试自己解决但我无法理解它的含义。还有其他人理解吗?这是错误,下面是代码。
错误:接收器类型“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];
这意味着什么,它为什么会发生,我该怎么做才能解决它?
而 是一个实例消息?
答案 0 :(得分:3)
此处的问题是NSData
没有响应EncryptAES:
选择器。您只能调用类中存在的选择器。使用Objective-C运行时的松散类型,只要选择器出现在编译器正在使用的至少一个其他类的实现中,您也可以在不响应所述选择器的类上调用选择器。
可以在NSData Class Reference上找到所有标准NSData
方法。 Apple有加密示例代码,但它不是NSData
内置的。
答案 1 :(得分:0)
我的猜测是你正在尝试为NSData使用AESEncrypt“类别”,但实际上并没有在项目中安装该类别。