0

実際、アプリで名前を付けた 3 つのビュー コントローラーがあります。私はAからBに、次にBからCにナビゲートしています。Aに実装されているCからデリゲートメソッドを呼び出しています。これが私のコードです

A.h

#import "A.h"
#import "C.h"

A.mが持っている

@interface A()<delegateName>
-(void)delegateMethod
{
  NSLog(@"delegate");
}
-(void)moveToB
{
  C *instanceOfC=[C alloc] init];
  instanceOfC.delegate=self;                //line 1
}

B.h

#"import C.h"

B.m

-(void)moveToC
{
  A *instanceOfA=[[A alloc] init];
  C *instanceOfC=[[C alloc] init];      
  instanceOfC.delegate= instanceOfA;            //line 2
}

C.h

@protocal delegateName <NSObject>
-(void)delegateMethod;
@end
@interface C
@property(nonatomic,weak) id<delegateName>  delegate;
@end

C.m

@synthesize delegate;
-(void)inSomeMethod
{
 [delegate delegateMethod];
}

then<delegateName>A.h代わりに入れると、 と表示されます。A.mundeclared delegate

4

2 に答える 2