[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] 定数クラスをつくってみる
Objective-cの場合 今回は共通にする定数をまとめるクラスを作ってみます。 まずはO
-
-
[Swift] CoreDataのテーブルからデータ件数を取得する
件数を取得する fetchResultsControllerなどを使わず、直接テーブルのデータ件数
-
-
[Objective-C] 共通関数をまとめたクラスを作ろう!
共通クラスとは? アプリを作っていると「この処理何回も書いてるなー」ということが多々あると思います
-
-
[Swift] optional値の設定(??)
optional値がnilの時 プロジェクトでのテンプレートを選択した時にソースコードが自動生成さ
-
-
[Objective-C] デリゲート (Delegate)を理解する!
デリゲートとは? デリゲートに関しての意味合いとして、”委譲”とか”代理”と説明されることが多いで
-
-
[Swift] Asset Catalogについて
XCode5から追加されたAsset Catalog。 いままで標準のImages.xcasset
-
-
[Objective-C] 小数点を丸める!(数値変換)
小数点を含む数値 Objective-Cに限らず、小数点を含む数値を計算する場合はdoubleやf
-
-
[Objective-C] UINavigationControllerのセグエを使って画面遷移をする
画面遷移の実装 今回はUINavigationControllerを使って画面遷移をしたいと思いま
ad
- PREV
- [Swift] Asset Catalogについて
- NEXT
- [PHP] ランダムな英数字を生成する

