Swiftで遊ぼう! - 352 - カスタムTableViewでSectionをつくる パート2
Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide
質問 : Swiftで遊ぼう! - 252 - FaceViewプロジェクト始動 - Swiftで遊ぼう! on Hatena
テーブルに表示させる項目数が多いのでplistからロードするのが望ましいでしょう。
plistからデータをロードする方法は以前にも説明してます。
しかし、今回説明する方法は微妙に違うんです。
色々なやり方があることを覚えておきましょう。
といってもなかなか覚えられないのがオヤジの頭です(T_T)
NSBundleオブジェクトを利用して外部フィルを読み込みます。しかし2つのメソッドがあります。
- URLForResource(name: String, withExtension: String?)
- pathForResouce(name: String, ofType: String?)
最初のメソッドは下記で説明しています。yataiblue.hatenablog.com
しかし、今回は下のメソッドを使って読み込みます。Sectionsプロジェクトで読み込むファイルは[String: {String]]型の「sortednames.plist」です。
読み込む場所は、当然viewDidLoad()メソッド内なので、次のようにコードします。
override func viewDidLoad() { super.viewDidLoad() tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: sectionsTableIdentifier) let bundle = NSBundle.mainBundle() let path = bundle.pathForResource("sortednames", ofType: "plist") let namesDict = NSDictionary(contentsOfFile: path!) names = namesDict as! [String: [String]] keys = sorted(namesDict!.allKeys as! [String]) }
URLResource()メソッドと異なるところは、NSDictionaryの引数にも及びます。
NSDictionary(contentsOfURL: NSURL)をNSDictionary(contentsOfFile: String)に変更します。
今日はここまで。