Je reçois l'erreur suivante lors de l'exécution de mon application:NSData sélecteur Unrecognized envoyé à la classe
+ [NSData dataFromBase64String:]: sélecteur non reconnu envoyé à la classe 0x1aff66598 en raison de l'application Mettre fin exception uncaught « NSInvalidArgumentException », raison: '+ [NSData dataFromBase64String:]: sélecteur non reconnu envoyé à la classe 0x1aff66598'
L'appelant ressemble à ceci:
NSString* decodedData = [self base64Decode:encodedData];
Les définitions de méthode sont les suivants:
- (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;
}
Je ne sais pas ce que je fais mal ...
Ajouter '#import "NSData + Base64.h"'? – DonMag
Quel fichier contient l'implémentation de 'dataFromBase64String'? Est-ce défini comme une catégorie «NSData»? Ce fichier est-il lié à votre application? –
Savez-vous que 'NSData' a déjà des fonctionnalités en base64? Il a été ajouté dans iOS 7. – rmaddy