我正在尝试实现Swift Programming in Easy Steps练习第5章中的TableView示例。我已经检查并重新检查了示例代码(甚至下载并测试了实际的示例代码(,但我仍然收到这个运行时错误。有人知道为什么会发生这种事吗?
2019-11-01 07:56:51.247052+0100 TableView_EasySteps[2067:39485]不能end BackgroundTask:不存在标识符为1的后台任务(0x1(,或者它可能已经结束。闯进要调试的UIApplicationEndBackgroundTaskError((。
这里是ViewController代码:
import UIKit
class WebsitesTableViewController: UITableViewController {
var websites:[[String]] = [
["Apple", "https://www.apple.com"] ,
["NY Times", "https://www.nytimes.com"] ,
["DN", "https://www.dn.se"] ,
["NFL", "https://www.nfl.com"] ,
["Premier League", "https://www.premierleague.com"] ,
["The Guardian", "https://www.theguardian.com"]
]
override func viewDidLoad() {
super.viewDidLoad()
// preserve selection between presentations
self.clearsSelectionOnViewWillAppear = false
}
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return websites.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCell(withIdentifier: "cellIdentifier")
if cell == nil {
cell = UITableViewCell(style: .subtitle, reuseIdentifier: "cellIdentifier")
}
cell!.textLabel!.text = websites[indexPath.row][0]
cell!.detailTextLabel!.text = websites[indexPath.row][1]
return cell!
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let url = URL(string: websites[indexPath.row][1]) {
UIApplication.shared.open(url)
}
}
// Override to support editing the table view.
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
websites.remove(at: indexPath.row)
// Delete the row from the data source
tableView.deleteRows(at: [indexPath], with: .fade)
}
}
}
如果您使用MVC标准,请检查SceneDelegate.swift文件并确保它是控制文件的一部分,否则只需确保它是Xcode项目中与AppDelegate.shift和ViewController.swift等文件一起的一部分。