2010-06-06 1 views
4

После прочтения этой темы: NSUserDefaults not present on first run on simulatorБудет ли конфликт с другими приложениями, когда мое приложение сохраняет данные в [NSUserDefaults standardUserDefaults]?

Я знаю, что это довольно легко хранить некоторые данные приложения в [NSUserDefaults standardUserDefaults]. Но если другие приложения также используют один и тот же ключ для хранения своих данных, возможно ли, что данные моего приложения будут перезаписаны?

Огромное спасибо вам всем.

ответ

12

Нет, каждое приложение имеет свои собственные значения по умолчанию, сохраненные в другом файле на основе идентификатора пакета приложения. На iPhone (и симуляторе) каждое приложение имеет собственный домашний каталог и не может обращаться к файлам другого приложения.

+0

Это правильно отвечает на вопрос, но предоставляет информацию за пределами области вопроса, которая вводит в заблуждение. Считывание осуществляется через ряд баз данных, хотя базы данных либо являются общесистемными, либо принадлежат вашему приложению, а не другим приложениям. Дополнительную информацию см. В документации по стандартнымUserDefaults. –

2

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

3

Нет. Когда вы храните что-то в стандарте NSUserDefaults standardUserDefaults, это прежде всего коллекция для вашего приложения. Другие приложения на iPhone не могут там храниться.

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

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

  • Нет связанных вопросов^_^