UserDefaults 初始化程序中 suiteName 的真正含义是什么?

Nin*_*nja 6 nsuserdefaults ios swift userdefaults

我试图掌握某种单元测试,因此我们创建模拟用户默认值。

class MockUserDefaults: UserDefaults {
var gameStyleChanged = 0
override func set(_ value: Int, forKey defaultName: String) {
if defaultName == "something" {
  someStyleChanged += 1
}
}
} 
Run Code Online (Sandbox Code Playgroud)

在 setup() 之后我创建了

mockUserDefaults = MockUserDefaults(suiteName: "testing")! 
Run Code Online (Sandbox Code Playgroud)

所以我很困惑,我无法理解 suiteName 的完整含义,我已阅读官方文档,但还不够清楚,请帮助

Pun*_*rma 7

suiteName:是一种标识符,可帮助您创建首选项(UserDefaults)存储。通过使用特定的 suiteName,您将创建一个首选项存储,该存储不受特定应用程序的限制(而标准 UserDefaults 对于每个应用程序都是不同的)。因此,您可以创建一个商店,可以在不同的应用程序/扩展程序之间共享。