2015年

7月

09日

Swift Table 表示 Plist -> NSArray -> NSDictionary

Table データ表示をPlist -> NSArray -> NSDictionary 経由で表示。

 

Objective-Cの場合はこちら

Item3.plist

_items配列にて使用しテーブル表示する。

セルの設定
Style:Subtitle
Identifler:Cell

ViewController.swift

import UIKit


class TableViewController: UITableViewController {


    var _items:NSArray = []

    

    override func viewDidLoad() {

        super.viewDidLoad()

        

        // リソースにあるplistファイルを読み込む

        let bnd:NSBundle = NSBundle.mainBundle()

        let prs:NSString = bnd.pathForResource("Items3",ofType:"plist")!

        // Plist -> NSArray

         _items = NSArray(contentsOfFile:prs as String)!

        

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }


    // MARK: - Table view data source


    // 設定(列)

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

        // #warning Potentially incomplete method implementation.

        // Return the number of sections.

        return 1

    }


    // 設定(行数)

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int)

                        -> Int {

        // #warning Incomplete method implementation.

        // Return the number of rows in the section.

        

        return _items.count

    }


    // 設定(セル)

    override func tableView(tableView: UITableView,

                  cellForRowAtIndexPath indexPath:

                  NSIndexPath) -> UITableViewCell {


        // セルオブジェクト取得

        let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier

                    ("Cell", forIndexPath: indexPath) as! UITableViewCell

        

        // 表示データの設定 NSArray -> NSDictionary

        var dic:NSDictionary = _items.objectAtIndex(indexPath.row) as! NSDictionary

        println(" Plist:\(dic)")


        var str01:NSString = dic["Name"]! as! NSString

        var str02:NSString = dic["Note"]! as! NSString

        

        cell.textLabel!.text = str01 as String

        cell.detailTextLabel!.text = str02 as String


        return cell

    }

}

Plist(dic)のログ表示


println(" Plist:\(dic)")


 Plist:{
    Name = BMW01;
    Note = "BMW\U767d";
}

 Plist:{
    Name = BMW02;
    Note = "BMW\U9ed2";
}

 Plist:{
    Name = BMW03;
    Note = "BMW\U8d64";
}

 Plist:{
    Name = BMW04;
    Note = "BMW\U9ec4\U8272";
}

 Plist:{
    Name = BMW05;
    Note = "BMW\U9752";
}

▫️参考ページ

  

目 次