0

다른 클래스의 한 클래스에서 메서드를 호출하려고합니다.다른 클래스의 클래스 메서드가 호출되지 않습니다

@interface example : NSObject 
     -(void)displayString:(NSString*)str; 
    @end 

    @implementation example 
     -(void)displayString:(NSString*)str 
     { 
      NSLog(@"The string:%@",str); 
     } 
    @end 
    // callExample.h 
    @interface callExample:UIViewController 
     @property (nonatomic, strong) example *ex; 
    @end 

//이 버튼을 눌렀을 때 displayString 함수가 호출됩니다. 내가 [self.ex displayString:@"sampleTEXT"];을 디버깅 할 때

// callExample.m 
    @implementation callExample 

     - (IBAction)btnPressed:(id)btn 
     { 
      [self.ex displayString:@"sampleTEXT"]; 
     } 
    @end 

때문에,이 코드 줄은 예 클래스에서 함수를 호출 doesnot. 나는 모든 것을 올바르게하고 있다고 생각합니다. 나는 뭔가를 놓치고있다. 나는 어디로 잘못 가고 있니?

모든 도움을 주실 수 있습니다.

감사

답변

0

첫째, displayString 그것은 인스턴스 메서드의, 클래스의 방법이 아닙니다. 둘째, 관련하여 메서드를 호출 할 example 클래스의 인스턴스를 만들지 않습니다.

지금은 callExample 클래스의 viewDidLoad 메소드에 넣으십시오 (인스턴스가 이미 존재하는지 여부는 밝히지 않음). 다음과 같이 지정하십시오.

self.ex = [[example alloc] init]; 

또한 명명 규칙을 확인하십시오. here.

관련 문제