2012-07-16 5 views
3

iOS 응용 프로그램에서 대리인 객체를 사용해야합니다. 함수가 정의 된 클래스에서ios에서 대리자를 사용하는 방법 5

: 나는이 같은 대리자를 선언 한

기능이 invoqued 할 필요가있는 클래스에서
@interface OOObjectCommandInterface : NSObject<OOCameraControllerDelegate> 

:

@protocol OOCameraControllerDelegate 

- (void)drawFrame:(CVImageBufferRef) imageBuffer:(BOOL)flip; 

@end 
(드 .H 파일에서)

@interface OOCameraController : UIViewController 
{ 
    ...  
    id<OOCameraControllerDelegate> delegate; 
} 

@property (nonatomic, readwrite) id<OOCameraControllerDelegate> delegate; 
은 두 번째 클래스 Aditionally이다

곳 초기화 : _hardwareControllerOOCameraController 클래스의 인스턴스

_hardwareController.delegate = [OOObjectCommandInterface ocInterface]; 

. 내가 위임 객체를 invoque 할 때 그래서, 나는이 수행

[delegate drawFrame:imageBuffer:flip]; 

을하지만 기능이 실행되지 않습니다. 어떤 생각?

경찰 : 내가 말하는 함수는 싱글 톤 클래스입니다. 거기에 어떤 문제가있을 수 있습니까?

답변

3

같은 두 번째 클래스의 객체를 생성, 싱글은 당신이 처음 get_instance (1 회를 생성 할 수있는 고유 한 개체에 액세스 할 수있는 디자인 후원자입니다). get_instance를 사용하면 어디에서나 싱글 톤 내부의 함수에 액세스 할 수 있으므로 직접 사용하지 않는 이유는 무엇입니까?

다음과 같이 작성하십시오 [[MySingletonClass get_instance] FunctionThatIWantToUse : ...]; 그리고 대의원을 사용하지 마십시오

+0

당신이 옳습니다 ... ¬¬ – goe

4

두 번째 클래스에서 대리인을 자기에게 설정 했습니까?

@property (nonatomic, readwrite) id<OOCameraControllerDelegate> delegate; 

및 정의에 다음 [_hardwareController setDelegate:self];

관련 문제