2011-04-06 48 views
0

AppController.h从另一个控制器调用函数,为什么不起作用?

#import <Cocoa/Cocoa.h> 
#import "DebugController.h" 

@class DebugController; 
@interface AppController : NSObject { 
    DebugController * controller; 
} 

@end 

AppController.m

#import "AppController.h" 

@implementation AppController 

-(void)awakeFromNib { 
    NSLog(@"awake"); 
    [controller sendDebug]; 

} 
@end 

DebugController.h

#import <Cocoa/Cocoa.h> 
#import "AppController.h" 

@interface DebugController : NSObject { 

} 
- (void)sendDebug; 
@end 

DebugController.m

#import "DebugController.h" 

@implementation DebugController 

- (void)sendDebug { 
    NSLog(@"debug"); // no logs. 
} 

@end 

回答

3

你不初始化调试C ontroller(controller),这意味着它最初的nil(作为它的一个实例变量)。发送邮件到nil是合法的,但没有任何反应。你必须首先初始化你的调试控制器伊娃。

相关问题