등록 된 기본값을 표시하기 위해 NSUserDefault 키에 바인딩 된 NSMenuItem을 실행하려면 어떤 순서로 실행해야합니까?NSUserDefault 등록 된 기본값 NSMenuItem 바인딩의 초기 표시
기본값을 등록하려고하는데 내 NSMenuItems가 앱을 시작할 때 내가 등록한 기본값으로 나타나지 않습니다.
등록 된 기본값을 표시하기 위해 NSUserDefault 키에 바인딩 된 NSMenuItem을 실행하려면 어떤 순서로 실행해야합니까?NSUserDefault 등록 된 기본값 NSMenuItem 바인딩의 초기 표시
기본값을 등록하려고하는데 내 NSMenuItems가 앱을 시작할 때 내가 등록한 기본값으로 나타나지 않습니다.
아침에 대부분을 쫓아 다니며 대부분의 답변이 단편적인 것처럼 보였으므로 공유 할 것이라고 생각했습니다.
1)에 메뉴 항목을 바인딩 :
2) awakeFromNib가 호출되기 전에 기본값을 등록하십시오. AppDelegate의 + (void) 메소드에서 초기화했습니다.
NSString *const KEY_DEDUPLICATION_TARGET = @"Deduplication_Target";
NSString *const KEY_DEDUPLICATION_SOURCE = @"Deduplication_Source";
+ (void)setupDefaults {
NSDictionary* userDefaultsValuesDict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], KEY_DEDUPLICATION_TARGET,
[NSNumber numberWithBool:YES], KEY_DEDUPLICATION_SOURCE,
nil];
// set them in the standard user defaults
[[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValuesDict];
}
: 그들 NSStrings로 초기화 보여 거기에 예에도 불구하고, BOOL 값에 대한 NSNumbers으로 사전을 사용자의 기본 설정을 초기화)
+ (void)initialize {
[self setupDefaults];
}
3 (아래 applicationDidFinishLaunching은 (ID) 초기화, applicationWillFinishLaunching,이 중 어느 것도 작동하지 않음)
그것으로 해결되었습니다. 참고로
은 엑스 코드와 * * 태그 데없는이 질문 주셔서 감사합니다! +1. –
5 개월 동안 SO를 사용해 왔지만 최근까지 참여하지 못했습니다. 그래서 나도 알아 냈습니다. –
당신은 아마 C++과 Objective-C 컴파일러와 Xcode를 혼동스럽게 만드는 초보자 인 것 같은데 ... ;-) –