클래스 메서드에서 대리자를 호출하려고합니다.클래스 메서드에서 대리자 사용
대리자가 클래스 메서드 내에서 액세스되는 인스턴스 변수이기 때문에 아래 예제에서는 분명히 작동하지 않습니다. (오류 : 클래스 메서드에서 액세스 한 인스턴스 변수 'delegate')
경고 메시지가 표시됩니까?
내 헤더 파일 : 내 구현 파일// MyClass.h
#import <Foundation/Foundation.h>
@protocol MyDelegate <NSObject>
-(void)update;
@end
@interface MyClass : NSObject
{
id<MyDelegate> delegate;
}
@property (nonatomic, retain) id delegate;
+(void)methodThatInvokesDelegate;
@end
:
// MyClass.m
#import "MyClass.h"
@implementation MyClass
@synthesize delegate;
+(void)methodThatInvokesDelegate{
[delegate update];
}
@end
같은 뭔가 정리합니다. 정확히 당신이보고있는 문제는 무엇입니까? –
@MikeM 위는 단지 예일뿐입니다. 내가 실제로 사용하고있는 코드가 아닙니다. 그러나 문제를 설명하기 만하면됩니다. 내 게시물을 편집하고 '@'를 추가했습니다.오류 i ': "인스턴스 변수'delegate '가 클래스 메소드에서 액세스되었습니다. – steak2002
왜 이것을하고 싶습니까? 싱글 톤 패턴을 사용하는 것이 더 좋을 수도 있습니까? – Marcel