[Swift] プロパティリスト(plist)の値を取得
公開日:
:
iPhone App 開発, Swift
Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
plistからデータを取得してみます。
こちらのエントリーも参考にしてみてください。
[Swift] プロパティリスト(plist)を使ってCoreDataで一括登録する
プロパティリストの作成
次にテストデータを。
まずDictionaryがあって、その中にキーがnameのデータとDictionayが2つある場合を想定しました。

Typeは以下から選ぶことができます。
- Array
- Dictionary
- Boolean
- Data
- Date
- Number
- String
Finderからテキストエディタで開くと中身はxml形式でこんな構成になっています。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>name</key> <string>name1</string> <key>dictionary1</key> <dict> <key>name</key> <string>name2</string> </dict> <key>dictionary2</key> <dict> <key>name</key> <string>name3</string> </dict> </dict> </plist>
サンプルコード
let path = NSBundle.mainBundle().pathForResource("Sample", ofType: "plist")
let dictionary = NSDictionary(contentsOfFile: path!)
if let value1: AnyObject = dictionary?.objectForKey("name") {
println("value1 = \(value1)")
}
if let value2: AnyObject = dictionary?.objectForKey("dictionary1")?.objectForKey("name") {
println("value2 = \(value2)")
}
if let value3: AnyObject = dictionary?.objectForKey("dictionary2")?.objectForKey("name") {
println("value3 = \(value3)")
}
1行目でSample.plistのパスを取得。
2行目でDictionary型でプロパティファイルの内容を取得します。
4行目以降、各プロパティの値を取得し出力します。
NSDictionaryのobjectForKey関数の戻り値はAnyObject?なので、nilが返ってくる可能性があります。
nilか否かを判断し出力します。
ちゃんと値が取得できると(nilじゃないと)確定している場合は!をつけてやるとOKです。
let value1: AnyObject! = dictionary?.objectForKey("name")
let value2: AnyObject! = dictionary?.objectForKey("dictionary1")?.objectForKey("name")
let value3: AnyObject! = dictionary?.objectForKey("dictionary2")?.objectForKey("name")
出力結果
value1 = name1
value2 = name2
value3 = name3
ad
関連記事
-
-
[Swift] 関数型プログラミング
関数型プログラミングについて、ストーリー仕立ての面白い記事がありましたので紹介します。 IQ1
-
-
[Swift] 定数クラスをつくってみる
Objective-cの場合 今回は共通にする定数をまとめるクラスを作ってみます。 まずはO
-
-
[Swift] UITabBarControllerでタブ選択時のイベントを取得する
UITabBarController タブを使った画面を作成する場合はUITabBarContro
-
-
[Objective-C] 共通関数をまとめたクラスを作ろう!
共通クラスとは? アプリを作っていると「この処理何回も書いてるなー」ということが多々あると思います
-
-
[Swift] プロパティリスト(plist)を使ってCoreDataで一括登録する
プロパティリストを使う 初期データやあらかじめ用意したデータを一括登録したい場合、プロパティリスト
-
-
[Swift] 画像を合成する
画像を合成 以下の2つの画像を合成してみます。円と四角です。 画像をプロジェクトに追
-
-
[Swift] CoreDataを使ってみる
SwiftでCoreData 今回はSwiftでCoreDataを使ってみます。 Xcodeプロ
-
-
小さなことからコツコツと
これまでHTMLとCSSだけで生きてきただけあって、プログラム言語がいまいちわからない。 Mo
-
-
NSDateを5分刻み・15分刻みで丸める
NsDateを初期値としてUIDatePicker等に設定する場合、日付の丸め処理が必要になるのでメ
ad
- PREV
- [Swift] Asset Catalogについて
- NEXT
- [PHP] ランダムな英数字を生成する

