こちらの記事にて、TableViewについて、学習していたのですが、分らない部分があり、質問させて頂きました。
以下は、記事内のTestTableViewController.swiftになります。
import UIKit class TestTableViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { @IBOutlet var tableView: UITableView! // 表示するテキスト var DataList:[String] = ["株式会社イーディーエー(英文社名:E.D.A Inc.)", "どうもこんにちは! \n\n 鶴本です。", "AutoLayoutで可変UITableViewCellの実装をしてみました!!!!!!!", "テストテストテストテストテス\nトテストテストテストテストテストテストテストテストテストテストテストテストテストテス\nトテストテストテスト\n\n", "便利です。"] func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return DataList.count } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = self.tableView.dequeueReusableCellWithIdentifier("CustomTableViewCell") as! CustomTableViewCell let str = self.DataList[indexPath.row] cell.label1.text = str return cell } override func viewDidLoad() { super.viewDidLoad() // セルの高さの見積もり値 self.tableView.estimatedRowHeight = 50 // セルの制約を基に計算された高さを代入 self.tableView.rowHeight = UITableViewAutomaticDimension // デリゲート・データソース設定 self.tableView.delegate = self self.tableView.dataSource = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
以下は、「CustomTableViewCell.swift」になります。
import UIKit class CustomTableViewCell: UITableViewCell { // 表示するラベル @IBOutlet var label1: UILabel! }
疑問点は、「TestTableViewController.swift」内の以下の部分です
let cell = self.tableView.dequeueReusableCellWithIdentifier("CustomTableViewCell") as! CustomTableViewCell
こちらの部分は再利用するセルを返しているのだと思うのですが、as! CustomTableViewCell
が何を意味しているのかが分かりません。
なんとなくの推測で、CustomTableViewCellを返しているのだとは思うのですが、「as!」はキャスト演算子である為、型に対して用いるものであるかと思います。
self.tableView.dequeueReusableCellWithIdentifier("CustomTableViewCell")
ここでは、単に再利用可能なセルを指定しているだけである為、as
演算子は使用できないのではないでしょうか?
どなたか、お詳しい方いましたら教えて頂けましたら幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/19 00:14 編集