我用Table ViewSegmented Control做了一个应用,这是我第一次.我使用了一些代码和教程,但不起作用.当我运行我的应用程序时,它正在崩溃,并在日志(log)中显示此错误:

MyApplication[4928:336085]*由于未捕获的异常"NSUnknownKeyException"而终止应用程序,原因:"[setValue:forUndefinedKey:]:此类不符合key tableView的键值编码."

我使用的代码是:

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

let foodList:[String] = ["Bread", "Meat", "Pizza", "Other"]
let drinkList:[String] = ["Water", "Soda", "Juice", "Other"]

@IBOutlet weak var mySegmentedControl: UISegmentedControl!
@IBOutlet weak var myTableView: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    var returnValue = 0

    switch(mySegmentedControl.selectedSegmentIndex) {
    case 0:
        returnValue = foodList.count
        break
    case 1:
        returnValue = drinkList.count
        break
    default:
        break
    }

    return returnValue
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let myCell = tableView.dequeueReusableCellWithIdentifier("myCells", forIndexPath: indexPath)

    switch(mySegmentedControl.selectedSegmentIndex) {
    case 0:
        myCell.textLabel!.text = foodList[indexPath.row]
        break
    case 1:
        myCell.textLabel!.text = drinkList[indexPath.row]
        break
    default:
        break
    }

    return myCell
}

@IBAction func segmentedControlActionChanged(sender: AnyObject) {
    myTableView.reloadData()  
}

这是main.Storyboard美元

enter image description here

我判断了很多次代码,但都不起作用.首先,我只需要使用Table View,观看本教程(https://www.youtube.com/watch?v=ABVLSF3Vqdg),我认为使用Segmented Control也可以,就像在教程中一样.但还是不行.同样的代码,同样的错误.

推荐答案

你把故事板设置成一个叫tableView的分店,但实际分店的名字是myTableView.

如果删除情节提要中的连接并重新连接到正确的变量名,应该可以解决问题.

Swift相关问答推荐

如何将使用“\u{ea12}”创建的 Swift 字符串转换回其十六进制值/字符串“ea12”?

否定 #available 语句

如何将一个 SwiftUI 视图作为变量传递给另一个视图结构

Swift 中构造的泛型类型的扩展

如何在 Swift 中访问命令行参数?

我可以在 Swift 中为泛型类型 T 分配默认类型吗?

我可以将 Xcode 与 iPhone Simulator.app 一起安装在外部硬盘上吗?

TabView 在切换选项卡时重置导航堆栈

过渡动画在 SwiftUI 中不起作用

在文本中添加无限行(SwiftUI)

在 SwiftUI 中有条件地使用视图

SwiftUI:发送邮箱

如何在 SwiftUI 的 ScrollView 中创建多行文本?

在现有的 UIKit 应用程序中包含 SwiftUI 视图

Swift:“Hashable.hashValue”作为协议要求已被弃用;

Swift 5.0:不推荐使用“withUnsafeBytes”:使用 `withUnsafeBytes(...)

由于编译器中的“内部”保护级别,无法访问框架 init 中的公共结构

为什么以及何时在 Swift 中对 Array 使用惰性?

何时使用 Semaphore 而不是 Dispatch Group?

如何枚举字符串类型的枚举?