[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] Asset Catalogについて
XCode5から追加されたAsset Catalog。 いままで標準のImages.xcasset
-
-
OSSの使い方がわからない・・・。
チュートリアル系の、storyboradでview controllerを置いて画面遷移を設定してっ
-
-
[Swift] UITabBarControllerでタブ選択時のイベントを取得する
UITabBarController タブを使った画面を作成する場合はUITabBarContro
-
-
[Swift] スクリーンサイズを取得する
スクリーンサイズを取得 iPhoneの幅と高さを取得する関数を紹介します。 iOS8から画面の傾
-
-
[Swift] ビルド時のエラー&iOS8でNSBigDecimalのバグ
ビルド時のエラー Swiftプロジェクトを実行中に以下のエラーが出ました。 "__TFSs15_
-
-
小さなことからコツコツと
これまでHTMLとCSSだけで生きてきただけあって、プログラム言語がいまいちわからない。 Mo
-
-
[Swift] 関数型プログラミング
関数型プログラミングについて、ストーリー仕立ての面白い記事がありましたので紹介します。 IQ1
-
-
[Swift] CoreDataのテーブルからデータ件数を取得する
件数を取得する fetchResultsControllerなどを使わず、直接テーブルのデータ件数
ad
- PREV
- [Swift] Asset Catalogについて
- NEXT
- [PHP] ランダムな英数字を生成する