2012-02-22 5 views
1

나는 응용 프로그램이 제거되지 않는 한, 응용 프로그램의 수명 동안 기억되는 즉, 결코 잊어 버리지 않는 카운터를 만들고 싶습니다.객관적인 카운터 카운터

카운터는 사용자가 요청하는 횟수를 추적합니다 ... 너무 커지면 다시 설정하는 것이 좋지만 요청이있을 때마다 계속 증가합니다 .

UInt32 유형이어야합니다. 내 관심사는 다음과 같습니다.이 값을 어떻게 저장합니까? 나는 그것이 plist에 저장되어야 할 것이라고 가정합니다. 나는 plists에 대한 어떤 경험도 가지지 않고 있었다. 누군가 plist 등을 저장하는 방법에 대한 몇 가지 예제 코드를 제공 할 수있을 것으로 기대하고 plists 작업에 대한 자습서 링크를 제공 할 수 있기를 바랍니다. 나는 현재 찾고 있지만 어쩌면 누군가가 과거에 성공한 것을 가지고 있습니다.

답변

5

NSUserDefaults입니다.

NSString * yourKey = @"someKey"; 
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setInteger:[defaults integerForKey:yourKey] + 1 forKey:yourKey] 
+3

자동 동기화가 발생하지 않으면 데이터를 잃어 버릴 수 있기 때문에 거기에'synchronize'를 넣어 두는 것이 좋습니다 (또는 앱 위임자의 'applicationWillResignActive :'에서 수행하는 것). 변경 사항과 앱이 삭제됩니다. – Tommy

+0

괜찮습니다. NSUserDefaults를 읽으겠습니다. 코드 예제에 대해 대단히 감사드립니다 ... 기본값에 대해서는 들었지만 결코 살펴 보지 않았습니다. –

+0

고마워요 토미, 그거 좋은 생각이야 .. 내가 간과 한 것 같아. –

0

NSUserDefaults에 저장하십시오. NSUserDefaults는 배우기 쉽습니다. 몇 줄의 코드 만 있으면됩니다. 두 개의 변수를 사용해보십시오 :

UInt32 count 
UInt32 fourBillion 

을 UINT32이 약간 넘는 40 억을 최대 값을 가지고 있기 때문에, 당신은 0으로 카운트를 설정, 다음 증가를 위해 다음 사십억에 도달 할 때까지 수를 증가시키고 fourBillion를 증가 할 수 있습니다.

다음 실제 카운트를 얻으려면 fourBillion에 4,000,000,000을 곱한 다음 count을 추가하십시오. 가능한 최대 값을 저장할 수있는 데이터 유형을 사용해야합니다. 이렇게하면 엄청나게 큰 번호를 저장할 수 있습니다. 아마 당신이 필요 이상으로.

+0

좋아, 시원한 .. 일단 NSUserDefautls가 정렬되면 이것을 조사해야합니다 :) –