тип данных общего объекта по умолчанию, возвращаемого NSUserDefaults

просматривая справочный файл класса для NSUserDefaults, я заметил, что возвращаемое значение для [NSUserDefaults standardUserDefaults] равно

Общий объект по умолчанию

что это за объект, каков его тип? какие методы мы можем вызвать для этого объекта?

Спасибо,


person shebelaw    schedule 12.11.2012    source источник


Ответы (2)


Это экземпляр NSUserDefaults. Вы можете вызвать любой из методов экземпляра, определенных для этого класса. (например, stringForKey:, dictionaryForKey:....)

person Phillip Mills    schedule 12.11.2012
comment
Я делал один тест, чтобы получить номер телефона: [[NSUserDefaults standardUserDefaults] objectForKey:@SBFormattedPhoneNumber] возвращает пустую строку. - person shebelaw; 12.11.2012
comment
Как вообще туда попадает объект/строка с этим ключом? - person Phillip Mills; 12.11.2012
comment
SBFormattedPhoneNumber — это ключ, используемый для получения номера телефона. Как я проверяю из других документов, это больше не используется после iOS 4.x.x. есть ли стандартная документация Apple, в которой перечислены все поддерживаемые ключи? - person shebelaw; 12.11.2012
comment
Ах... это, должно быть, было удалено давным-давно (во времена iOS). Вы должны быть в состоянии сделать что-то вроде NSLog(@"Defaults: %@", [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]);, чтобы увидеть, что доступно. - person Phillip Mills; 12.11.2012
comment
но они должны были разрешить это право? как и служба определения местоположения, они могут просто уведомить пользователя и спросить, разрешает ли пользователь выдать свой номер. - person shebelaw; 13.11.2012

+ (NSUserDefaults *)standardUserDefaults

Это просто метод класса для возврата одноэлементного объекта типа NSUserDefaults. Таким образом, вы можете вызывать все методы этого класса.

Из справочника по классу NSUserDefaults

Значения по умолчанию инициализируются для текущего пользователя. Последующие модификации стандартного списка поиска остаются в силе даже при повторном вызове этого метода — стандартный список поиска гарантируется только при первом вызове этого метода. Общий экземпляр предоставляется для удобства — вы можете создавать собственные экземпляры, используя alloc вместе с initWithUser: или init.

person AntonPalich    schedule 12.11.2012
comment
[[NSUserDefaults standardUserDefaults] objectForKey:@SBFormattedPhoneNumber] возвращает пустую строку. каковы возможные способы получить номер телефона? - person shebelaw; 12.11.2012
comment
Ответ на ваш вопрос здесь: stackoverflow.com/questions/ 3108487/ - person AntonPalich; 12.11.2012