[Swift3] plist에서 다차원 배열을 읽고 TableView로 표시합니다.
소개
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)
}
Reference
이 문제에 관하여([Swift3] plist에서 다차원 배열을 읽고 TableView로 표시합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/under_chilchil/items/8a24c8cee094b14ba10c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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)
}
Reference
이 문제에 관하여([Swift3] plist에서 다차원 배열을 읽고 TableView로 표시합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/under_chilchil/items/8a24c8cee094b14ba10c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
//多次元配列の初期化
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>]
}
//行数指定
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)
}
Reference
이 문제에 관하여([Swift3] plist에서 다차원 배열을 읽고 TableView로 표시합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/under_chilchil/items/8a24c8cee094b14ba10c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)