首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSWindowController多个nib问题

NSWindowController多个nib问题
EN

Stack Overflow用户
提问于 2011-05-09 16:44:07
回答 1查看 295关注 0票数 0

MainController.h

代码语言:javascript
复制
#import <Cocoa/Cocoa.h>


@interface MainController : NSWindowController {
    NSWindowController *sc;
    IBOutlet NSTextField *txt1;
}

-(IBAction)executeButtonClick:(id)sender;
-(void)setTxt1Text:(NSString *)txt;

@end

MainController.m

代码语言:javascript
复制
#import "MainController.h"
#import "SecondController.h"


@implementation MainController

-(void)awakeFromNib
{
    sc = nil;
}

-(IBAction)executeButtonClick:(id)sender;
{
    if (sc == nil)
    {
        sc = [[SecondController alloc] initWithMController:self];
    }
    [sc showWindow:self];
    [[sc window] makeKeyAndOrderFront:sender];
}

-(void)setTxt1Text:(NSString *)txt;
{
    [txt1 setStringValue:txt];
}

@end

SecondController.h

代码语言:javascript
复制
#import <Cocoa/Cocoa.h>


@interface SecondController : NSWindowController {
    NSWindowController *mController;
}
-(id)initWithMController:(NSWindowController *)mctrl;
-(IBAction)testButtonClick:(id)sender;

@end

下面是问题所在:

SecondController.m

代码语言:javascript
复制
#import "SecondController.h"


@implementation SecondController

    -(id)initWithMController:(NSWindowController *)mctrl;
    {
        self = [super initWithWindowNibName:@"SecondWindow"];
        mController = mctrl;
        NSLog(@"%@",mController);
        return self;
    }

    -(IBAction)testButtonClick:(id)sender;
    {
        NSLog(@"%@",mController);
        [mController setTxt1Text:@"Test Success"];
    }

    @end

日志:

代码语言:javascript
复制
2011-05-09 15:41:10.337 MultiWindow[4334:a0f] <MainController: 0x1005295b0>
2011-05-09 15:41:11.336 MultiWindow[4334:a0f] (null)

为什么mController会变成空?有人能帮上忙吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-10 00:15:41

尝试在这两个位置记录self (除了mController之外)。我的猜测是,您会发现您有多个SecondController对象(可能一个是通过-MainController executeButtonClick:在代码中创建的,另一个是在SecondWindow nib中创建的?)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5934545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档