Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 定義 NameTableViewCell 並繼承自 UITableViewCell
- class NameTableViewCell: UITableViewCell {
- @IBOutlet
- weak var nameLabel: UILabel!
- }
- // 定義 GenderTableViewCell 並繼承自 UITableViewCell
- class GenderTableViewCell: UITableViewCell {
- @IBOutlet
- weak var genderLabel: UILabel!
- }
- // UITableViewDataSource
- override func tableView(
- _ tableView: UITableView,
- cellForRowAt indexPath: IndexPath
- )
- -> UITableViewCell {
- // 因為 dequeueReusableCell(withIdentifier:for:) 所回傳的 Cell 型別
- // 為 UITableViewCell,我們可利用 Casting 來判斷其原始型別
- // 究竟是 NameTableViewCell,還是 GenderTableViewCell,亦或兩者皆非
- if let nameCell = tableView.dequeueReusableCell(
- withIdentifier: "NameTableViewCell",
- for: indexPath
- ) as? NameTableViewCell {
- // nameLabel 是 NameTableViewCell 才有的 Property
- nameCell.nameLabel.text = "Roy"
- return nameCell
- }
- else if let genderCell = tableView.dequeueReusableCell(
- withIdentifier: "NameTableViewCell",
- for: indexPath
- ) as? GenderTableViewCell {
- // genderLabel 是 GenderTableViewCell 才有的 Property
- genderCell.genderLabel.text = "Male"
- return genderCell
- }
- else { fatalError("The undefined cell.") }
- }
Add Comment
Please, Sign In to add comment