2012-06-03 4 views
1

나는 이것을 하루 동안 알아 내려고 노력했다. 나는 초보자이므로 나와 함께 견뎌주십시오. 나는 대표단에 관한 많은 기사를 읽었으나 나는 아직도 그것을 얻지 못했다. 어떤 도움이라도 대단히 감사 할 것입니다.초기화 할 수없는 이유는 무엇입니까?

헤더

@protocol MidiInit <NSObject> 
@end 


@interface CBAppDelegate : UIResponder <UIApplicationDelegate> 

@property (strong, nonatomic) id midiDelegate; 

-(id) initWithDelegate :(id <MidiInit>) delegate; 

@end 

구현

@synthesize midiDelegate; 

-(id) initWithDelegate:(id<MidiInit>)delegate 
{ 
if ((self = [super init])) 
{ 
    self.midiDelegate = delegate; 
    midi = [[MidiClass alloc] initWithDelegate://not sure what to put here]; 
} 
return self; 
} 
+1

무엇을하려하십니까? MidiClass에 대한 델리게이트를 만드시겠습니까? – rdelmar

답변

0

그것은 당신이 달성하려고하는 것을 알고 도움이 될 것이다, 그러나 당신이 우리를 보여주는하는지에서, 거의 모든 잘못 :-)

를 찾습니다

신청서 대리인이 표시됩니까? 그렇다면 애플리케이션 위임자로부터 다른 위임자에게 위임하는 것은 무엇입니까? 그것은 표준 접근 방식처럼 보이지 않습니다.

둘째, 대리인에 대한 '강력한'참조가 필요하지 않은 경우 메모리 누수가 발생할 수 있습니다.

솔직히 말해서 나는 여기있는 진짜 문제가 당신이 지적하고있는 것이라고 생각하지 않습니다. 전체 접근법이 잘못된 것 같습니다. 당신이 성취하고자하는 것에 대해 더 많은 것을 말하면 그에 따라 내 대답을 업데이트하려고 노력할 것입니다.

+0

예, 클래스 작성자의 권장 사항에 따라 델리게이트로 초기화하려고하는 MIDI 클래스가 있습니다. – frankie

관련 문제