2011-08-23 9 views
0

나는 다음 코드에 문제가 있습니다.인식 할 수없는 선택

나는 디코더를 원하고 이미지를 저장하지만 내 콘솔에서 나는이 메시지를 보여왔다 :

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”. 

ClaseMaestra 인터페이스는 다음과 같습니다

#import <Foundation/Foundation.h> 

@class NSString; 

@interface ClaseMaestra : NSObject 

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

@end 

은 내가 "알 수없는 선택"을 이해 할수 없어를 오류 ...

답변

2

이것은 클래스 메서드이며 클래스의 인스턴스로 호출합니다. 인스턴스 메소드로 변경해야합니다. 대신 :

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

사용 :

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

또는, 대신, 전화를 변경합니다

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

사용 :

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

무엇을 선택하는가에 따라 달라집니다 필요합니다.

2

base64DataFromString:은 클래스 메서드입니다 (+으로 시작). 당신은 인스턴스에 클래스 메시지를 보내는

NSData *data = [ClaseMaestra base64DataFromString:imagenS]; 
0

그래서 그 대신

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

의 당신은해야한다. 리시버는 클래스 여야합니다.

그렇게 :

NSData *imagenDecode = [[NSData alloc] initWithData:[ClaseMaestra base64DataFromString:imagenS]]; 
당신이 개인 프레임 워크, 예를 들면의 이름을 사용하는 경우이 오류가 발생합니다
0

: MPMovieView .Everyone 당신이 그들을 사용 안하고 있지만 I didn를 알고 내가 하나를 사용하고 있다는 것을 알지 못한다!

Xibs를 사용하는 경우 시스템 1을로드하고 동일한 유형의 오류 (클래스 메소드)를 제공하는 것은 이상합니다.

그러나 코드로로드하면 시스템 프레임 워크 하나가 음영 처리됩니다. 나는 내 머리를 긁적이는 데 보냈다. 모든 것이 올바르게 연결되도록했다. 그것은 내 맞춤식 재료의 이름을 어떻게 바꿀 필요가 있었다. 비슷한 사람이 올린 글

관련 문제