Swift/設定の保存
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Swift]]
&tag(Swift/設定の保存);
*目次 [#p7976ea8]
#contents
*関連ページ [#d745d10d]
-[[Swift]]
*参考情報 [#s907be9d]
*基本 [#o1027256]
-[[NSUserDefaults Wrapper in swift:https://gist.github.co...
-[[NSUserDefaultsにプロパティで値を保存・取得するSwiftラ...
-セキュリティを無視して良い場合はNSUserDefaultsを使用する...
-クラスプロパティを使用する。
-セキュリティが必要な場合は、[[kishikawakatsumi/KeychainA...
*NSUserDefaultsのラッパー [#r7da3fc4]
-AppSetting.swift
#pre{{
import Foundation
class AppSetting {
static let ud = NSUserDefaults.standardUserDefaults()
// set default settings here
private struct Default {
static let name: String = "Swift Taro"
static let age: Int = 20
}
// computed properties as class variables
class var name: String {
get {
ud.registerDefaults(["name": Default.name])
return ud.objectForKey("name") as! String
}
set(newValue) {
ud.setObject(newValue, forKey: "name")
ud.synchronize()
}
}
class var age: Int {
get {
ud.registerDefaults(["age": Default.age])
return ud.objectForKey("age") as! Int
}
set(newValue) {
ud.setObject(newValue, forKey: "age")
ud.synchronize()
}
}
}
}}
-使用
#pre{{
デフォルト値を取得
AppSetting.name // => "Swift Taro"
AppSetting.age // => 20
// 設定値を変更
AppSetting.name = "Ruby Ichiro"
AppSetting.age = 30
// 変更された値を取得
AppSetting.name // => "Ruby Ichiro"
AppSetting.age // => 30
}}
終了行:
[[Swift]]
&tag(Swift/設定の保存);
*目次 [#p7976ea8]
#contents
*関連ページ [#d745d10d]
-[[Swift]]
*参考情報 [#s907be9d]
*基本 [#o1027256]
-[[NSUserDefaults Wrapper in swift:https://gist.github.co...
-[[NSUserDefaultsにプロパティで値を保存・取得するSwiftラ...
-セキュリティを無視して良い場合はNSUserDefaultsを使用する...
-クラスプロパティを使用する。
-セキュリティが必要な場合は、[[kishikawakatsumi/KeychainA...
*NSUserDefaultsのラッパー [#r7da3fc4]
-AppSetting.swift
#pre{{
import Foundation
class AppSetting {
static let ud = NSUserDefaults.standardUserDefaults()
// set default settings here
private struct Default {
static let name: String = "Swift Taro"
static let age: Int = 20
}
// computed properties as class variables
class var name: String {
get {
ud.registerDefaults(["name": Default.name])
return ud.objectForKey("name") as! String
}
set(newValue) {
ud.setObject(newValue, forKey: "name")
ud.synchronize()
}
}
class var age: Int {
get {
ud.registerDefaults(["age": Default.age])
return ud.objectForKey("age") as! Int
}
set(newValue) {
ud.setObject(newValue, forKey: "age")
ud.synchronize()
}
}
}
}}
-使用
#pre{{
デフォルト値を取得
AppSetting.name // => "Swift Taro"
AppSetting.age // => 20
// 設定値を変更
AppSetting.name = "Ruby Ichiro"
AppSetting.age = 30
// 変更された値を取得
AppSetting.name // => "Ruby Ichiro"
AppSetting.age // => 30
}}
ページ名: