[Swift3] plist에서 다차원 배열을 읽고 TableView로 표시합니다.

1749 단어 iOS초보자Swift3.0

소개



plist를 사용하여 tableView를 만들 수있는 기회가 있었으므로 비망록으로 올립니다.

plist를 만드는 방법



xcode의 상단 탭 메뉴보다, File>new>file.. >ios > resource 안에, Property List 라고 있으므로, 클릭.

plist의 구성 확인


PropertyList.plist  라는 이름으로, 하기 구조의 plist를 작성했습니다.



plist 로드


    //多次元配列の初期化
    var plistArr = [Dictionary<String, String>]()

    override func viewDidLoad() {
        super.viewDidLoad()

                 //plistを参照
        let path = Bundle.main.path(forResource: "PropertyList", ofType: "plist")

        //参照したplistを、初期化した配列に納入
        plistArr = NSArray(contentsOfFile: path!) as! [Dictionary<String, String>]


    }


tableView로 표시




    //行数指定
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return mathArr.count
    }


    //表示内容
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "[任意]cell", for: indexPath) as![任意]cell

        cell.textLabel?.text = plistArr[indexPath.row]["title"]
        return cell
    }

    //タップ時の処理(例:任意のURLをWebViewControllerで表示)
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        tappedCellUrl = plistArr[indexPath.row]["url"]!
        performSegue(withIdentifier: "toWebViewController", sender: nil)

    }



좋은 웹페이지 즐겨찾기