Swift纯Code之旅 Day10. 「TableView(2) - TableView Cell注册」

前言

昨天已经将addAlarmContentTableViewCell的元件都建立完毕了,但是画面上居然没显示,今天就来要解开这个谜底。

解开

为什麽addAlarmTableView上面会没有显示addAlarmContentTableViewCell呢?

那是因为:

  1. 没有在 addAlarmTableView 中注册 addAlarmContentTableViewCell
  2. 没有在 addAlarmViewController 中实作 addAlarmContentTableViewCell 的「Delegate」 & 「DataSource」

注册TableViewCell

那要如何在 addAlarmTableView 中注册 addAlarmTableViewCell呢?

  1. 在addAlarmTableViewCell 中新增一个Static变数,用来当作该 TableViewCell 的识别码。
static let identifier = "addAlarmContentTableViewCell"

这边用Static是为了让其他地方(1. TableView注册、2. 实作TableView Delegate时)可以直接使用到,

  1. 接着再到 addAlarmTableView 中,新增「注册addAlarmContentTableViewCell」的程序码。
let addAlarmTableView: UITableView  = {
        let tableView = UITableView()
        // 注册 addAlarmContentTableViewCell
        tableView.register(addAlarmContentTableViewCell.self,
                           forCellReuseIdentifier: addAlarmContentTableViewCell.identifier)
        return tableView
    }()

tableView.register()共有两个引数,分别代表

  1. 要注册哪个Cell?
  2. 要注册的Cell的识别码?

因此我们第一个引数放入「addAlarmContentTableViewCell.self」,代表我们要注册「addAlarmContentTableViewCell」这个Cell。

Q:那至於第二个引数要放入什麽识别码呢?

A:还记得我们开头有新增了一组 addAlarmContentTableViewCell的识别码吗?
没错! 就是放入这组识别码,这样一来TableViewCell的注册环节就结束了/images/emoticon/emoticon59.gif


OK,那这样TableViewCell的注册就完成了,明天继续来实作 TableView 的「Delegate」&「DataSource」


<<:  【PHP Telegram Bot】Day11 - Webhook 与 Web Hosting

>>:  Day6 Html标签_1

CNN
杂谈    

[资料库] 学习笔记 - 时间函数 和 群组

这次解的题目是要计算当月每个星期几的平均工时,以及当月每一周的每日平均工时,详细的题目是从这篇文延伸...

[Tableau Public] day 1:想成功就从意志力开始吧~

某天在FB上滑着滑着,看到了iT邦帮忙的铁人赛活动,觉得…!我想要挑战以前未成功的遗憾,甚麽遗憾呢…...

Day 07 | Dart基本介绍 - extends、abstract、mixin

今天继续来说明class 相关的语法。今天提到的语法又会更抽象一点 extends 所谓继承就是我们...

Docker:甚麽是容器?

VM暂时告一段落,其实unraid上面的插件还是以容器(docker)最为大宗 像我们後面要做的云端...

Day 22 | Manomotion 手部动作识别 - 安装与介绍

ManoMotion是一款提供手部追踪、动作识别的SDK,具备了多种手势识别功能。在之後的两款小游戏...