Создавая виджет «Сегодня», я использую UserDefaults(suiteName:)
для сохранения некоторых данных. В основном приложении я использую UserDefaults.standard()
. Это не может быть прочитано (или может?) Расширением, поэтому я использую конструктор suiteName:
.
Данные, которые пользователь сохраняет UserDefaults.standard()
в основном приложении, должны быть доступны в расширении.
В настоящее время я настаиваю на обоих, чтобы можно было поделиться ценностями.
UserDefaults.standard().set:...forKey:...
UserDefaults(suiteName:...)().set:...forKey:...
...
Вопрос в том, следует ли мне отбросить UserDefaults.standard()
все вместе и просто использовать UserDefaults(suiteName:)
в своем приложении, или это плохая практика, и если да, то почему?
Изменить: я использую контейнер группы приложений. Для пояснения я спрашиваю, следует ли мне просто заменить standard()
на suiteName:
в моем проекте?
UserDefault
(по-suiteName:
) илиFileManager
по умолчанию (по-forSecurityApplicationGroupIdentifier:
) - вы можете больше не нужны стандартные пользовательские настройки по умолчанию или файловый менеджер (но если вам нужно быть уверенным, что вы хотите изолировать данные от расширения, вы все равно можете использовать эти песочницы). - person holex   schedule 10.08.2017