危機感を持った理系学生のプログラミング日記
コンバンワ🦊
只今、午前3時半です。授業もあるので早めに寝ないといけませんが今日やったことを備忘録として残しときます。
今日は、UITableViewとProtocolを少し触れました。
UITableView
UITableViewは、テキストやイメージを行単位で表示することが出来ます。
メモ帳とかもUITableViewを用いています。
色々書く決まりがあり、慣れたらそんなにも難しくないのかなと言う印象🦊
簡単で分かりやすいコードを貼っていきます。
import UIKit
class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
let prefectures = ["東京都", "神奈川県", "千葉県", "埼玉県", "茨城県", "栃木県", "群馬県"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
tableView.delegate = self
tableView.dataSource = self
}
// TableViewに表示するセルの数を返却します。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.prefectures.count;
}
// 各セルを生成して返却します。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .default, reuseIdentifier: "myCell")
cell.textLabel?.text = self.prefectures[indexPath.row]
return cell
}
}
これの結果が
こうなります。もっと詳細な設定をするときは命令が増えますが、まあ最初はこんな感じで。
Protocol
情報系の勉強をしているとちょくちょく出てくるProtocolと言う単語。
その分野によって意味は違いますが、「決まり事」と言う意味で使われる事が多いです。
protocolの宣言
protocol catchProtocol {
//規則を決める
func catchDate(count:Int)
}
他クラスのprotocolを使う
//protocolを宣言
class ViewController: UIViewController,catchProtocol
func catchDate(count: Int) {
//自由に
}
具体的な処理は委託先のクラスが決められるというなんともややこしい仕様。
でも自クラスから他のクラスへ引数を渡したりもできるので便利ではあると思うが慣れないですね。
まだ上手く言語化ができていないのでもっとここは詰めます。
今日はここまでで。お疲れ様でした🦊