Swift 如何修复错误:此类不符合key tableView的键值编码;

Swift 如何修复错误:此类不符合key tableView的键值编码;,swift,uitableview,uisegmentedcontrol,Swift,Uitableview,Uisegmentedcontrol,我用表格视图和分段控件制作了一个应用程序,这是我第一次。我正在使用一些代码和教程,但它不起作用。当我运行我的应用程序时,它正在崩溃,并在日志中显示此错误: MyApplication[4928:336085]*由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类不符合key tableView的键值编码。” *第一次抛出调用堆栈: ( 0 CoreFoundation 0x000000010516fd8

我用
表格视图
分段控件
制作了一个应用程序,这是我第一次。我正在使用一些代码和教程,但它不起作用。当我运行我的应用程序时,它正在崩溃,并在日志中显示此错误:

MyApplication[4928:336085]*由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类不符合key tableView的键值编码。” *第一次抛出调用堆栈: ( 0 CoreFoundation 0x000000010516fd85例外预处理+165 1 libobjc.A.dylib 0x0000000105504db objc_异常_抛出+48 2 CoreFoundation 0x000000010516f9c9-[N异常提升]+9 3基金会0x000 000 010364E19B-[NSbObjs](NSKEY ValueCudid)SETValu: 4 UIKit 0x0000000103c37d0c-[UIViewController设置值:forKey:+88 5 UIKit 0x0000000103e6e7fb-[UIRuntimeOutletConnection connect]+109 6 CoreFoundation 0x00000001050a9890-[NSArray makeObjectsPerformSelector:+224 7 UIKit 0x0000000103e6d1de-[UINib实例化所有者:选项:][1864 8 UIKit 0x0000000103c3e8d6-[UIViewController\u loadViewFromNibNamed:bundle:][381 9 UIKit 0x0000000103c3f202-[UIViewController loadView]+178 10 UIKit 0x0000000103c3f560-[UIViewController loadViewIfRequired]+138 11 UIKit 0x0000000103c3fcd3-[UIViewController视图]+27 12 UIKit 0x000000010440b024-[\u UIFullScreen显示控制器\u setPresentedViewController:][87 13 UIKit 0x0000000103c0f5ca-[UIPresentationController初始化与PresentedViewController:presentingViewController:+133 14 UIKit 0x0000000103c525bb-[UIViewController\u presentViewController:withAnimationController:completion:+4002 15 UIKit 0x0000000103c5585c-[UIViewController\u性能协调演示文稿:动画:][489 16 UIKit 0x0000000103c5536b-[UIViewController当前视图控制器:动画:完成:][179 17 UIKit 0x00000001041feb8d uu 67-[UIStoryboardModalSegueTemplate newDefaultPerformHandlerForSegue:][uBlock_invoke+243 18 UIKit 0x00000001041ec630-[UIStoryboardSegueTemplate]性能与目标视图控制器:发送方:][460 19 UIKit 0x00000001041ec433-[UIStoryboardSegueTemplate]执行:+82 20 UIKit 0x00000001041ec6f7-[UIStoryboardSegueTemplate执行:][156 21 UIKit 0x0000000103aa6a8d-[UIApplication sendAction:to:from:forEvent:+92 22 UIKit 0x0000000103c19e67-[UIControl发送操作:发送到:forEvent:+67 23 UIKit 0x0000000103c1a143-[UIControl\u发送操作预防:带事件:][327 24 UIKit 0x0000000103c19263-[UIControl触摸已结束:带事件:][601 25 UIKit 0x0000000103b1999f-[UIWindow\u sendTouchesForEvent:+835 26 UIKit 0x0000000103b1a6d4-[UIWindow sendEvent:+865 27 UIKit 0x0000000103ac5dc6-[UIApplication sendEvent:+263 28 UIKit 0x0000000103a9f553 _UIApplicationHandleEventQueue+6660 29 CoreFoundation 0x0000000105095301\u CFRUNLOOP\u正在调用\u OUT\u到\u A\u SOURCE0\u执行\u函数\u17 30 CoreFoundation 0x000000010508b22c\uU CFRunLoopDoSources0+556 31 CoreFoundation 0x000000010508a6e3\uuu CFRunLoopRun+867 32 CoreFoundation 0x000000010508a0f8 CFRunLoopRunSpecific+488 33图形服务0x000000010726dad2 GSEventRunModal+161 34 UIKit 0x0000000103aa4f09 UIApplicationMain+171 35 Dhikr 0x0000000101f26282干管+114 36 libdyld.dylib 0x00000001064c392d启动+1 ) libc++abi.dylib:以NSException类型的未捕获异常终止

我使用的代码是:

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()  
}
这里是主故事板

我检查了很多次代码,但都不起作用。首先,我必须只使用
表视图
,观看本教程()我认为使用
分段控件
会很有效,就像在教程中一样。但还是不行。同样的代码,同样的错误。
有人能帮我吗?

有没有可能您在某个时候将表视图的名称从“tableView”更改为“myTableView”

您的故事板设置为期望一个名为
tableView
的出口,但实际的出口名称是
myTableView


如果删除序列图像板中的连接并重新连接到正确的变量名,则应该可以解决问题。

检查此项。我面临着类似的问题。原因是我为我的应用程序制定了两个方案/目标,并且视图控制器仅添加在其中一个方案/目标中,而我正在运行另一个目标/方案。将Viewcontroller类添加到所有目标/方案解决了此问题。如何“删除连接”?我的话,我是否必须单击故事板中的内容才能查看所有连接并将其删除?是否有一些界面向我显示故事板中的哪些内容与代码中的哪些内容相连接?我还听说有一个“.nib”文件,我还没有找到它find@pete中的IBOutlet声明