2012-02-22 2 views
1

Я хочу создать счетчик, который запоминается на всю жизнь приложения, т. Е. Никогда не забывается, если приложение не удалено.Объектив c счетчик

Счетчик будет отслеживать количество запросов, которые пользователь делает ... возможно, я посмотрю, чтобы сбросить его, когда он становится слишком большим, но по большому счету он будет просто увеличивать каждый раз, когда будет выполнен запрос ,

Это должно быть тип UInt32. Моя главная проблема: как мне сохранить это значение? Я предполагаю, что это нужно будет сохранить в plist. У меня не было опыта с plists. Я надеюсь, что кто-то может предоставить некоторый пример кода о том, как сохранить на plist и т. Д., А затем, возможно, учебную ссылку на работу с plists. В настоящее время я смотрю, но, возможно, у кого-то есть то, с чем у них был успех в прошлом.

ответ

5

NSUserDefaults - это путь.

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

Возможно, стоит попробовать «синхронизировать» там (или, лучше, сделать это в приложении приложения applicationWillResignActive:), поскольку в противном случае вы можете потерять данные, если автоматическая периодическая синхронизация не произошла между вами изменение и ваше приложение будут убиты. – Tommy

+0

хорошо, я буду читать NSUserDefaults .. большое спасибо за пример кода ... Я слышал о дефолтах, но не смотрел на них. –

+0

Спасибо Томми, это хорошая идея .. что-то я определенно бы упустил. –

0

Сохраните его в NSUserDefaults. NSUserDefaults легко узнать; вам нужно всего несколько строк кода. Попробуйте использовать две переменные:

UInt32 count 
UInt32 fourBillion 

Поскольку UInt32 немного имеет максимальное значение более чем на 4 млрд, можно увеличить количество до тех пор, пока не достигнет четырех миллиардов, то для следующего приращения, установите счетчик на 0 и приращение fourBillion.

Затем, чтобы получить истинное количество, умножьте fourBillion на 4 000 000 000, затем добавьте count. Обязательно используйте тип данных, который может хранить максимально возможное значение. Это позволяет хранить огромное количество; вероятно, гораздо больше, чем вам нужно.

+0

хорошо, круто .. Мне нужно будет изучить это, как только я получу сортировку NSUserDefautls :) –