【问题标题】:NSString may not respond to EncryptAES- Xcode WarningNSString 可能无法响应 EncryptAES- Xcode 警告
【发布时间】:2011-10-13 00:00:00
【问题描述】:

看来我的代码是正确的,它可以编译、运行和构建。但是由于以下错误,它没有执行某些代码行:“NSString may not respond to EncryptAES”

出现警告的代码如下:

- (IBAction)Encrypt {
//Change the Input String to Data
NSData *objNSData = [NSData dataWithData:[Input dataUsingEncoding: NSUTF8StringEncoding]];
//Encrypt the Data    
objNSData = [Input EncryptAES:Keyword.text]; //Line with Warning

我已经在 StackOverflow 上搜索过此类问题,并认为要解决此错误,我应该在头文件中使用类似这样的代码:

@interface  NSString

-(NSString*)AESEncrypt:????

@end

这会修复警告吗?如果是这样,那么我应该把问题放在哪里? 如果这段代码不能解决问题,我该怎么做才能摆脱这个错误并使代码正常运行?

编辑:我也尝试过使用 NSData,我得到了同样的警告

【问题讨论】:

  • 它在下面列出,如果需要的代码比列出的更多,我将非常乐意发布

标签: objective-c cocoa-touch nsstring warnings


【解决方案1】:

您正在针对“Input”调用 EncryptAES 类方法,该方法基于您的评论和上面的代码([Input dataUsingEncoding...)似乎是一个 NSString。

NSString 不提供 EncryptAES 方法:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html

查看这些 SO 帖子:

AES Encryption for an NSString on the iPhone

使用:http://pastie.org/426530

iPhone - AES256 Encryption Using Built In Library

【讨论】:

    【解决方案2】:

    here。显然 EncryptAES 是 NSData 的“类别”。我怀疑它是否适用于 NSString。

    【讨论】:

    • 我尝试将它也与 NSData 一起使用,我得到了相同的结果
    猜你喜欢
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多