Вызов функции с другого контроллера, почему не работает? - PullRequest
0 голосов
/ 06 апреля 2011

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

1 Ответ

3 голосов
/ 06 апреля 2011

Вы не инициализируете контроллер отладки (controller), что означает его изначально nil (в качестве переменной экземпляра).Отправка сообщения на nil законна, но ничего не происходит.Сначала вы должны инициализировать контроллер отладки ivar.

...