应用程序启动时复选框setState:0

时间:2010-07-09 21:19:40

标签: xcode oop checkbox delegates

我的复选框有问题。我想在应用启动时将其设置为0(未选中),但复选框由另一个类“myClass”控制,例如。

这就是我的所作所为:

  • 我打开了Interface Builder并在我的窗口中放了一个复选框(NSButton),在我的MainMenu.xib窗口中拖动NSObject,将其重命名为“myClass”。添加了一个名为“myCheckbox”(NSButton)的插座,并将其链接到我之前创建的复选框。最后,我添加了一些东西。

这是myClass.m的代码:

#import "myClass.h"

@implementation myClass

- (void) changeState
{
    [myCheckbox setState:0];
}

@end

myClass.h

#import <Cocoa/Cocoa.h>

@interface myClass : NSObject {
    IBOutlet NSButton *myCheckbox;
}

- (void) changeState;

@end

然后我在AppDelegate文件中做了一些更改,以便在启动应用程序时执行一些操作:

#import "UntitledAppDelegate.h"
#import "myClass.h"

@implementation UntitledAppDelegate

@synthesize window;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    myClass * someClass = [[myClass alloc] init];

    [someClass changeState];
}

@end

UntitledAppDelegate.h:

#import <Cocoa/Cocoa.h>

@interface UntitledAppDelegate : NSObject <NSApplicationDelegate> {
    NSWindow *window;
}

@property (assign) IBOutlet NSWindow *window;

@end

目的(如果可行)是根据默认文件中存储的设置为复选框设置一个值。

问题可能很简单或太简单但我只是初学者......

一些帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

- (void) awakeFromNib
{
    [myCheckbox setState:0];
}
myClass.m中的

解决了它。