2010-02-09 7 views
21

내 iPhone 응용 프로그램에는 사용자가 자주 변경하는 설정이 거의 없습니다. 이러한 설정 (읽기 및 저장)을 처리하는 제안 된 방법이 있는지 알고 싶습니다. Apple 사이트에서 응용 프로그램 설정을 설정 앱 (link)과 통합하는 방법에 대한 자습서 만 발견되었지만 사용자가 내 앱을 종료하지 않도록하여 옵션을 변경할 수 있습니다.응용 프로그램에 iPhone 응용 프로그램 설정 저장

앱 자체에서 이러한 설정을 처리하는 기본 메커니즘이 있습니까? 아니면 내 솔루션을 구현해야합니까?

답변

43

가장 쉬운 방법은 NSUserDefaults하는 것입니다. 파일 시스템이나 plists 또는 다른 것들을 다루지 않아도됩니다.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

NSString *storedVal = @"This is what you want to save"; 
NSString *key = @"storedVal"; // the key for the data 

[defaults setObject:storedVal forKey:key]; 
[defaults synchronize]; // this method is optional 


// Get the results out 
NSString *results = [defaults stringForKey:key]; 

여기에 애플이 기본 객체, 즉, (또는 컬렉션의 인스턴스 속성 목록을해야합니다

당신이 기본값에 저장할 수있는 객체의 유형에 말씀입니다 인스턴스의 조합 ) : NSData, NSString, NSNumber, NSDate, NSArray 또는 NSDictionary. 다른 유형의 개체를 저장하려면 일반적으로 을 보관하여 NSData의 인스턴스를 만들어야합니다.

NSDictionary를 저장하는 경우 키 값이 문자열이어야하는 것과 같은 몇 가지 추가주의 사항이 있습니다. 앱 내부에서 설정을 편집 할 수있는 UI를 찾고 있다면

+2

에서 InAppSettingsKit을 확인해 그 다음 다른 유형의 값을 저장할 수 있나요'NSString' 숫자 나 날짜 같은? – RaYell

+0

예, 답을 업데이트했습니다. – kubi

+0

답장을 보내 주셔서 감사합니다. – RaYell

0

아이폰 개발자 연결에서 File and Networking Guide을 읽어보십시오. 응용 프로그램 샌드 박스에서 미리 정의 된 다른 위치에 대한 경로를 얻는 방법을 설명합니다. NSDictionary를 사용하여 파일 시스템에 쉽게 저장하고 plist로 변환 할 수있는 환경 설정을 저장하는 것이 좋습니다. 아이폰에 저장 설정을

관련 문제