0
類
運行我的應用程序時,我收到以下錯誤:的NSData無法識別的選擇發送到
+ [NSData的dataFromBase64String:]:無法識別的選擇發送到0x1aff66598 終止應用程序類由於未捕獲的異常 「NSInvalidArgumentException 」,原因: '+ [NSData的 dataFromBase64String:]:無法識別的選擇發送到 類0x1aff66598'
呼叫者看起來像這樣:
NSString* decodedData = [self base64Decode:encodedData];
而且該方法的定義如下:
- (NSString *)base64Decode:(NSString *)base64String {
NSData *plainTextData = [NSData dataFromBase64String:base64String];
NSString *plainText = [[NSString alloc] initWithData:plainTextData encoding:NSUTF8StringEncoding];
return plainText;
}
// This is in another class
+ (NSData *)dataFromBase64String:(NSString *)aString {
NSData *data = [aString dataUsingEncoding:NSASCIIStringEncoding];
if(data == nil)
return nil;
size_t outputLength;
void *outputBuffer = NewBase64Decode([data bytes], [data length], &outputLength);
NSData *result = [NSData dataWithBytes:outputBuffer length:outputLength];
free(outputBuffer);
return result;
}
我不知道我做錯了什麼......
添加'#import「NSData + Base64.h」'? – DonMag
什麼文件包含'dataFromBase64String'的實現?它被定義爲「NSData」類別嗎?該文件是否被鏈接到您的應用程序? –
您是否知道'NSData'已經具有base64相關的功能?它被添加到iOS 7中。 – rmaddy