2014-03-26 4 views
0

NSObject 형식의 사용자 지정 클래스 (패키지)가 있습니다. 이 객체의 인스턴스가 많습니다. 이러한 각각의 인스턴스를 초기화 할 때, 나는 자신의 UIViewController 이름에서 ViewController라는 이름을 전달합니다.다른 클래스의 메서드를 호출 할 수없는 이유

이 패키지의 코드에서 ViewController에서 메소드를 호출하고 싶습니다.

-(void)toThisView:(UIView *)someView 
{ 
    [imagesToRender addObject:someView]; 
    [self.mainImageView addSubview:someView]; 
} 

및 Packages.m에

I은 ​​할

- (UIView *)handleTapFrom:(UITapGestureRecognizer *)sender 
{ 
    [view2 toThisView:sender.view]; // Error No visible @interface for 'UIViewController' declares the selector 'toThisView:' 
} 

뷰 2가 UIViewController *view2이고 그것이 클래스의 초기화 방법을 통해 view2 = object로 설정되는 곳

- (id)initWithPath:(NSString *)path andObject:(NSObject *)object

왜 내가 이걸 받게 되는가? 오류 : 당신이 UIViewController의 서브 클래스 ViewController라는 이름의 클래스를 가지고있는 것처럼

No visible @interface for 'UIViewController' declares the selector 'toThisView:'

+0

에서는 CustomClass 같은 클래스의 .h 파일에이 방법을 선언도 호출하기 전에

[object toThisView:YourPrameter]; 

* 뷰 2 = ... –

+0

UIViewController * view2 대신 YouCustomTomClassName을 사용하거나 수행 선택기 메서드를 사용할 수 있습니다. – CoolMonster

답변

1

view2 경우 다음 당신은 단순히이 작업을 수행 할 수 있습니다 :

[(YourCustomClass *)view2 toThisView:sender.view];

@implementation Packages { 
    ViewController *view2; 
} 

또는 같은

viewController에서 YourCustomClass.을 가져 오십시오.

+0

네가 맞아, 네 CustomClass로 캐스팅되어야한다. 하지만 문제가 발생하여 YourCustomClass의 헤더 파일을 가져 오지 않았습니다. – Cripto

0

소리가 난다. 이 같은

@implementation Packages { 
    UIViewController *view2; 
} 

또는 가능 : 당신은 ViewControllerview2를 선언 할 필요가

@interface Packages : NSObject 

@property (nonatomic, strong) UIViewController *view2; 

, 당신은 인스턴스의이 같은 선언 view2라는 이름의 변수를 가지고있는 것처럼

은 또한 소리 UIViewController이 아닙니다. 즉, 다음과 같이 선언 : 사용자 정의 형 객체입니다

@interface Packages : NSObject 

@property (nonatomic, strong) ViewController *view2; 
0

나는 그렇지 않으면 다른 클래스에서 표시되지 않습니다, 당신은 당신의 viewController.h 파일에

-(void)toThisView:(UIView *)someView 

를 추가 할 필요가 있다고 생각.

0

첫 번째 사용자 정의 클래스를 viewController에서 가져옵니다. 클래스의 개체를 만듭니다.

간단히이 메소드를 호출하십시오. 이

-(void)toThisView:(UIView *)someView; 
관련 문제