我正在创建一个今日小组件,使用UserDefaults(suiteName:)
来存储一些数据。在主应用程序中,我正在使用UserDefaults.standard()
。扩展程序无法读取(或者说它可以读取吗?),这就是为什么我使用了suiteName:
构造函数。
用户将数据持续到主应用程序中的UserDefaults.standard()
,需要在扩展程序中可用。
目前我正在同时进行持久化,以便可以共享值。
UserDefaults.standard().set:...forKey:...
UserDefaults(suiteName:...)().set:...forKey:...
...
问题是我是否应该完全放弃使用 UserDefaults.standard()
,并仅在我的应用程序中使用 UserDefaults(suiteName:)
,或者这是一种不好的做法,如果是为什么?编辑:我正在使用一个App组容器。 为澄清起见,我想知道是否应该在整个项目中将 standard()
替换为 suiteName:
?