何をしたか
設定値の保存、取り出し、削除を行います。NSUserDefaultsを使っています。
アプリを終了させても設定した値は活きています。
Configファイルへの書き込み、取り出しのイメージです。
スマートかどうかわかりませんが、画面間のデータ受け渡しに使えます。
ソース
init(){
// 設定値の保存 キーは"keyName"、値は"value"としました。
let config = NSUserDefaults.standardUserDefaults()
config.setObject("value",forKey:"keyName")
config.synchronize() // シンクロを入れないとうまく動作しないときがあります
// 設定値の取得
let result : AnyObject! = config.objectForKey("keyName")
println(result)
var test:String = result as NSString // AnyObjectからString型にダウンキャストするときは as NSString
// 存在しないキーはnilが返る
let result2 : AnyObject! = config.objectForKey("hoge")
println(result2)
// 設定値すべてを取得 ※ システムで用意された設定値も出力されます
var dictionary : NSDictionary = config.dictionaryRepresentation()
println(dictionary)
// 設定値"keyName"の削除
config.removeObjectForKey("keyName")
// ちゃんと"keyName"が削除されたことを確認
var dictionary2 : NSDictionary = config.dictionaryRepresentation()
println(dictionary2)
}
感想
Swiftになってもメソッド名が長いのは変わらないです。
個人的にはConfigクラスを作ってラッパーしちゃいたい。