2012-03-13 2 views
0

У меня вопрос о NSUserDefault. В настоящее время я хочу написать функцию, которая сохранит любимую школу в списке.Как подсчитать количество сохраняемых объектов в NSUserDefault?

У меня есть название школы и школа Id. Поэтому каждый раз, когда я сохраняю, имя школы + школьный идентификатор будет 1 объект словаря.

Затем я сохраняю в базе NSUserDefault идентификатор в качестве ключа. Я хочу знать количество объектов, которые я сохранил в NSUserDefault. Или Как я могу получить все объекты из NSUserDEfault, так как каждый из моих ключей отличается. Пожалуйста, помогите мне. ниже мой код:

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; 


NSMutableDictionary *schools = [[NSMutableDictionary alloc] init]; 
[schools setObject:schoolName forKey:kSchoolName]; 
[schools setObject:schoolID forKey:kSchoolID]; 

[userDefault setObject:schools forKey:schoolID]; 
+1

В таких случаях мне проще хранить весь массив в NSUserDefauts, например, «favourite_schools» или что-то подобное и использовать его – govi

+0

Сохранение массива в NSUserDefaults прекрасно объясняется здесь http://stackoverflow.com/a/2315972/1141395. Это намного проще, и вам не нужно сохранять какие-либо ключи, которые вы использовали для сохранения. Если ваши объекты также имеют массивы, которые необходимо сохранить, не забудьте добавить «NSCoding» к объектам внутри массива. –

ответ

13

Сколько предметов вы храните? Возможно, это не лучшее использование для NSUserDefaults.

Но непосредственно ответить на ваш вопрос:

NSUInteger count = 
    [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] count]; 
+0

Хороший ответ, не знал, что его можно распечатать все сохраненные предметы. –

-1

Вы хотели бы использовать тот же ключ, чтобы сохранить ваши школы dictionary.I означают,

[userDefault setObject:schools forKey:@"Schools List"]; 

Затем, чтобы получить его

NSDictionary *schools = [userDefault ObjectforKey:@"Schools List"]; 
    [[schools allkeys]count]; 

Это даст вам счет.

+0

Вопрос состоял в том, как получить список всех элементов внутри 'NSUserDefaults', а не как сохранить и загрузить один объект. Это оффтоп. –

Смежные вопросы