2013-08-04 2 views
0

я попробовал множество вещей и не могу получить его функционирование ...Сохранение выбранного элемента из NSPopupbutton с NSUserDefaults

[[NSUserDefaults standardUserDefaults] setObject:[my_popup_button selectedItem] forKey:@"selected"]; 

не работает, есть какие-либо предложения?

+0

Это единственный код вашей помощи, чтобы сохранить данные в NSUserDefaults? – icodebuster

ответ

3

Это от минимального примера я только что создал:

AppDelegate.h

#import <Cocoa/Cocoa.h> 

@interface AppDelegate : NSObject <NSApplicationDelegate> 

@property (assign) IBOutlet NSWindow *window; 
@property (assign) IBOutlet NSPopUpButton *popupButton; 
- (IBAction)onPopupBtnSelectedItemChanged:(id)sender; 

@end 

AppDelegate.m

#import "AppDelegate.h" 

@implementation AppDelegate 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    [self.popupButton selectItemAtIndex:[[NSUserDefaults standardUserDefaults] integerForKey:@"selectedItemIndex"]]; 
} 


- (IBAction)onPopupBtnSelectedItemChanged:(id)sender 
{ 
    [[NSUserDefaults standardUserDefaults] setInteger:self.popupButton.indexOfSelectedItem        
               forKey:@"selectedItemIndex"]; 
} 

Только что попробовал его и он работает как шарм. Best,

Flo

+0

Он не работает в настоящий момент, это указывает на то, что точка в _self.popupbutton_ должна быть изменена на -> которая не работает ... – Ryan

+0

Я думаю, что вам обязательно нужно прочитать книгу об Objective-C, прежде чем стать серьезной! Я добавлю дополнительную информацию к сообщению. – guitarflow

+0

Извините за поздний ответ и за дополнительную информацию! – Ryan