在 iPad 版 Swift Playgrounds 中显示 TableView

Posted

技术标签:

【中文标题】在 iPad 版 Swift Playgrounds 中显示 TableView【英文标题】:Show TableView in Swift Playgrounds for iPad 【发布时间】:2016-09-25 02:15:02 【问题描述】:

除了我尝试在实时视图中显示tableView 的最后一行不起作用:PlaygroundPage.current.liveView = controller

我不知道我做错了什么?

import UIKit
import PlaygroundSupport
import Foundation

class TableViewController: UITableViewController 
    let tableData = ["Matthew", "Mark", "Luke", "John"]

override func viewDidLoad() 
    super.viewDidLoad()
    print("Hello Matt")


override func numberOfSections(in tableView: UITableView) -> Int 
    return 1


override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    return tableData.count


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    var cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as UITableViewCell
    cell.textLabel?.text = tableData[indexPath.row]
    return cell



let controller = TableViewController()
PlaygroundPage.current.liveView = controller

【问题讨论】:

什么不起作用?有错误吗?会发生什么? @JackLawrence akosma 搞定了,感谢您调查并检查问题所在 gist.github.com/watert/13c38d269ea15aa8360f 【参考方案1】:

我想你忘了在viewDidLoad() 中注册表格视图单元格

override func viewDidLoad() 
    super.viewDidLoad()
    tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")

【讨论】:

【参考方案2】:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)中,在函数顶部添加一行:

tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")

像这样:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 

    tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
    var cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as UITableViewCell
    cell.textLabel?.text = tableData[indexPath.row]
    return cell


【讨论】:

以上是关于在 iPad 版 Swift Playgrounds 中显示 TableView的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 iPad Swift Playground 中使用 Metal 着色器代码?

如果我没有 iPad,如何在 Mac 上使用 AR 测试 swift-playground?

如何使用 ipad Playground 在 swiftUI 上运行 Scene 和 App 以实现 swift

如何在 iPad 上让 Swift Playgrounds 无边界?

Swift Playground UIView 的大小不正确

未安装 Swift Playground