Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 使用NSUserDefaults基于NSPopUpButton选择保存NSTextField属性_Cocoa_Nsuserdefaults_Nstextfield - Fatal编程技术网

Cocoa 使用NSUserDefaults基于NSPopUpButton选择保存NSTextField属性

Cocoa 使用NSUserDefaults基于NSPopUpButton选择保存NSTextField属性,cocoa,nsuserdefaults,nstextfield,Cocoa,Nsuserdefaults,Nstextfield,我在应用程序中添加了一个选项,可以更改NSTextField的背景色和文本色。我设置了一个nspoupbutton,并根据nspoupbutton中的选定项更改颜色。我想使用NSUserDefaults保存此选择。我用这个方法来改变背景颜色和文本颜色,效果很好。如何使用NSUserDefaults保存属性并在启动时进行设置 - (IBAction)addBarColor:(id)sender { if ([addBarColor.titleOfSelectedItem isEqualTo

我在应用程序中添加了一个选项,可以更改
NSTextField
的背景色和文本色。我设置了一个
nspoupbutton
,并根据
nspoupbutton
中的选定项更改颜色。我想使用NSUserDefaults保存此选择。我用这个方法来改变背景颜色和文本颜色,效果很好。如何使用
NSUserDefaults
保存属性并在启动时进行设置

- (IBAction)addBarColor:(id)sender {
    if ([addBarColor.titleOfSelectedItem isEqualToString:@"White"]) {
        addressBar.backgroundColor = [NSColor whiteColor];
        addressBar.textColor = [NSColor blackColor];
    }
    else {
        //default state
        addressBar.backgroundColor = [NSColor redColor];
        addressBar.textColor = [NSColor whiteColor];
    }
}

在您的行动方法中,首先设置如下:-

现在,在这个操作中,无论何时设置颜色,它都将保存为刚才添加到此处的两行默认颜色

- (IBAction)addBarColor:(id)sender {
       NSUserDefaults *default=[NSUserDefaults standardUserDefaults];
[default setObject:addBarColor.titleOfSelectedItem forKey:@"selectedColor"];
//Process your code
}
//现在,只需从默认值中读取保存的颜色,然后设置到弹出按钮中

-(void)awakeFromNib
{
 NSUserDefaults *default=[NSUserDefaults standardUserDefaults];
NSString *defColor=[default ObjectForKey:@"selectedColor"];
if (defColor)
{
[addBarColor selectItemWithTitle:defColor];
}

}