2011-04-06 22 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是合法的,但沒有任何反應。你必須首先初始化你的調試控制器伊娃。

相關問題