2013-03-21 4 views
0

저는 최신 SDK가 포함 된 iOS 앱을 개발 중입니다. registerDefaults : 앱이 시작될 때마다해야합니까?

나는 다음을 수행 할 때마다 응용 프로그램 시작 :

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 
    [standardUserDefaults registerDefaults: [PreferenceDefaultValues dictionary]]; 
    [standardUserDefaults synchronize]; 

    return YES; 
} 

그것이 registerDefaults을 할 필요가 있습니까?

+0

나는 내 인생에서이 코드를 본 적이 없다 ... 나는 그것을 사용 해본 적이 없다. 이게 뭐래? – borrrden

+0

@borrrden : NSRegistrationDomain에 대한 설명서를 참조하십시오. 검색이 항상 성공할 수 있도록 일련의 임시 기본값을 제공합니다. –

+0

NSRegistrationDomain은 iOS와 관련이 있습니까? – borrrden

답변

2

예, 명시 적으로 registerDefaults: 상태에 대한 설명서 : 등록 도메인의

내용은 디스크에 기록되지 않습니다 은 응용 프로그램이 시작될 때마다이 메소드를 호출해야합니다.

동일한 이유로 registerDefaults: 다음에 synchronize으로 전화 할 필요가 없습니다.

+0

문제를 찾을 수 없습니다. 죄송합니다. 그것은 작동합니다. – VansFannel

1

예는 사과 설명서에 따라 필요가있다 :

에는 등록 도메인이없는 경우, 하나는 지정된 사전을 사용하여 생성되며, NSRegistrationDomain 검색 목록 끝에 추가됩니다. 등록 도메인의 내용은 디스크에 기록되지 않습니다. 응용 프로그램을 시작할 때마다이 메서드를 호출해야합니다.. plist 파일을 응용 프로그램의 Resources 디렉토리 에 넣고 registerDefaults :를 해당 파일 에서 읽어 들일 수 있습니다.

기본값을 등록 할 때 대개 사용자 지정 plist 파일을 제공합니다. 따라서이 plist 파일에 쓰여진 값을 변경할 때 값을 얻으면이 plist 파일에서 가져옵니다.

관련 문제