Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 无法识别的选择器_Iphone_Objective C_Unrecognized Selector - Fatal编程技术网

Iphone 无法识别的选择器

Iphone 无法识别的选择器,iphone,objective-c,unrecognized-selector,Iphone,Objective C,Unrecognized Selector,我对下一个代码有问题: NSDictionary * imagen = [[NSDictionary alloc] initWithDictionary:[envio resultValue]]; NSString *imagenS = [imagen valueForKey:@"/Result"]; ClaseMaestra *b1 = [[ClaseMaestra alloc]init]; NSData *imagenDecode = [[NSData alloc] initWithDat

我对下一个代码有问题:

NSDictionary * imagen = [[NSDictionary alloc] initWithDictionary:[envio resultValue]];
NSString *imagenS = [imagen valueForKey:@"/Result"];

ClaseMaestra *b1 = [[ClaseMaestra alloc]init];
NSData *imagenDecode = [[NSData alloc] initWithData:[b1 base64DataFromString:imagenS]];

NSLog(@"Decode Image:");
NSLog(@"%@", imagenDecode);

//SAVE IMAGE

NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);  

NSString *docDirectory = [sysPaths objectAtIndex:0]; 

NSString *filePath = [NSString stringWithFormat:@"%@david.png",docDirectory]; 

[imagenDecode writeToFile:filePath atomically:YES]; 
大宗报价

[envio resultValue]-->返回一个NSDictionary,其中一个图像以64进制编码

我需要解码器并保存此图像,但在我的控制台中,我显示了以下消息:

2011-08-23 19:19:39.750 WSStub[38501:a0f] *************************
2011-08-23 19:19:39.752 WSStub[38501:a0f] SendImage
2011-08-23 19:19:39.752 WSStub[38501:a0f] *************************
2011-08-23 19:19:39.759 WSStub[38501:a0f] -[ClaseMaestra base64DataFromString:]: unrecognized selector sent to instance 0xd00ad0
Program received signal:  “EXC_BAD_ACCESS”.
CLASEMESTRA接口是:

#import <Foundation/Foundation.h>

@class NSString;

@interface ClaseMaestra : NSObject 

+ (NSMutableData *)base64DataFromString: (NSString *)string;

@end
#导入
@类NSString;
@接口类别表:NSObject
+(NSMutableData*)base64DataFromString:(NSString*)字符串;
@结束

我无法理解“无法识别的选择器”错误…

这是一个类方法,您在类的实例上调用它。您应该将其更改为实例方法。而不是:

+ (NSMutableData *)base64DataFromString: (NSString *)string;
NSData *imagenDecode = [[NSData alloc] initWithData:[b1 base64DataFromString:imagenS]];
使用:

或者,更改呼叫,而不是:

+ (NSMutableData *)base64DataFromString: (NSString *)string;
NSData *imagenDecode = [[NSData alloc] initWithData:[b1 base64DataFromString:imagenS]];
使用:


选择什么取决于您的需要。

这是一个类方法,您可以在类的实例上调用它。您应该将其更改为实例方法。而不是:

+ (NSMutableData *)base64DataFromString: (NSString *)string;
NSData *imagenDecode = [[NSData alloc] initWithData:[b1 base64DataFromString:imagenS]];
使用:

或者,更改呼叫,而不是:

+ (NSMutableData *)base64DataFromString: (NSString *)string;
NSData *imagenDecode = [[NSData alloc] initWithData:[b1 base64DataFromString:imagenS]];
使用:


选择什么取决于您的需要。

base64DataFromString:
是一个类方法(以
+
开头)。所以不是

ClaseMaestra *b1 = [[ClaseMaestra alloc]init];
NSData *imagenDecode = [[NSData alloc] initWithData:[b1 base64DataFromString:imagenS]];
你应该这样做

NSData *data = [ClaseMaestra base64DataFromString:imagenS];

base64DataFromString:
是一个类方法(以
+
开头)。所以不是

ClaseMaestra *b1 = [[ClaseMaestra alloc]init];
NSData *imagenDecode = [[NSData alloc] initWithData:[b1 base64DataFromString:imagenS]];
你应该这样做

NSData *data = [ClaseMaestra base64DataFromString:imagenS];

您正在向实例发送类消息。接收者应该是一个类

我们也要这样做:

NSData *imagenDecode = [[NSData alloc] initWithData:[ClaseMaestra base64DataFromString:imagenS]];

您正在向实例发送类消息。接收者应该是一个类

我们也要这样做:

NSData *imagenDecode = [[NSData alloc] initWithData:[ClaseMaestra base64DataFromString:imagenS]];

如果使用私有框架的名称,也会出现此错误,例如:MPMovieView。每个人都知道你不应该使用这些框架,但我不知道的是我使用了一个

奇怪的是,如果您使用XIB,它们会加载system one,并给出相同类型的错误(类方法)


但是,如果您在代码中加载它,它会影响系统框架。我花了相当长的一个小时挠头,确保一切都连接正确。。。它是,只是需要改变我命名我的定制东西的方式。如果您使用私有框架的名称,例如:MPMovieView,那么您也会遇到此错误。每个人都知道您不应该使用这些框架,但我不知道的是我正在使用一个

奇怪的是,如果您使用XIB,它们会加载system one,并给出相同类型的错误(类方法)

但是,如果您在代码中加载它,它会影响系统框架。我花了相当长的一个小时挠头,确保一切都连接正确。。。它是,只是需要改变我命名我的定制东西的方式。为任何有类似经历的人发布此消息