文書   >   Foundation   >   Preferences   >   UserDefaults   >   init(suiteName:)
イニシャライザ
init(suiteName:)
指定されたデータベース名のデフォルト値で初期化されたユーザーのデフォルトオブジェクトを作成します。
宣言
パラメータ
suitename | 検索リストのドメイン ID。 このパラメータに nil を渡すと、standard クラスメソッドが使用するデフォルトの検索リストをシステムは使用します。スイートは指定されたアプリグループのデフォルトを管理するため、スイート名はアプリのメインバンドル ID とは異なるものでなければなりません。globalDomain はまた、アプリによって書き込み可能でないため、無効なスイート名です。 |
議論
アプリスイートを開発するときこのメソッドを使用して、アプリ間で環境設定やその他のデータを共有し、またはアプリ拡張を開発するときに、拡張機能とそれを含むアプリとの間で環境設定やその他のデータを共有できます。
引数と登録ドメインは、UserDefaults のすべてのインスタンス間で共有されます。
suiteName パラメータは、対応する CFPreferences API の domain パラメータと一致します (Foundation と Core Foundation の定数の間の変換を除く)。リスト 1 に、2 つの同等の文を示します。詳細については、環境設定ユーティリティ を参照してください。
List 1 NSUserDefaults および CFPreferences API を使用した同等の文
let userDefaultsValue = UserDefaults(suiteName: "someDomain")?.object(forKey: "someKey")
let preferencesValue = CFPreferencesCopyAppValue("someKey" as CFString, "someDomain" as CFString)
// userDefaultsValue and preferencesValue are equal
macOS では、別のアプリのバンドル ID を指定すると、App Sandbox によって防止されていない限り、そのアプリの環境設定検索リストが表示されます。
以下も見よ
ユーザーデフォルトオブジェクトの作成
アプリと現在のユーザのデフォルト値で初期化されたユーザデフォルトオブジェクトを作成します。