2010-05-02 4 views
0

내 앱에 4 개의 데이터베이스 카탈로그가 있습니다. 4 개의 카탈로그를 전환합니다. 앱을 시작할 때 NSUserDefaults를 읽고 메모리에 기본 카탈로그를로드하려고 시도하지만 처음에는이 일이 발생하지 않습니다. 대신 DB 연결이 알 수없는 이유로 성공하지 못하기 때문에 처음으로 null 값이 반환되고 디버거도 거기에 갈 수 없습니다.iphone sqlite 앱 시작 문제

하지만 다음에 앱이 시작되면 값이 성공적으로 가져옵니다. 당신은 사용자 기본 설정에서 몇 가지 필요한 데이터를 가져 오는 경우

거기 앱을 처음 실행되지 않을 수도

답변

1

도와주세요. 당신은 아마 사용하여 기본값의 기본 설정 (ㅎ)을 만들어야합니다

-[NSUserDefaults registerDefaults:]

을 ... 당신이 어떤 값을 사용자 기본값을 조회하기 전에. User Defaults Programming Topics

등록 도메인에서

은 사용자가합니다 ( "기본 기본값"또는 "공장 설정")을 우선하지 않는 한 을 사용 응용 프로그램에서 제공하는 기본값의 집합입니다. 예를 들어 Xcode를 실행할 때 처음으로 시간이 지나면 기본 데이터베이스에 IndexOnOpen 값이 저장되지 않습니다. 결과적으로 Xcode 은 IndexOnOpen의 기본값을 NSRegistrationDomain에 "모두 잡기" 값으로 등록합니다. 그런 다음 Xcode는 이라고 가정하고 NSUserDefaults 객체는 항상 이 기본값으로 반환 할 값인 을 사용하여 사용자 기본값 사용을 단순화합니다.

registerDefaults : 메서드를 사용하여 프로그래밍 방식으로 NSRegistrationDomain 기본값을 으로 설정했습니다.

+0

감사합니다. TechZen, 당신의 좋은 통찰력. 많은 도움을주었습니다. – Futur