如何修复错误:此类与键 tableView 的键值编码不兼容。 [复制]

2024-02-18

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

MyApplication[4928:336085] * 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue:forUndefinedKey:]:此类与键 tableView 的键值编码不兼容。” * 首先抛出调用堆栈: ( 0 核心基础 0x000000010516fd85 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x0000000105504deb objc_异常_抛出 + 48 2 CoreFoundation 0x000000010516f9c9 -[NSException 引发] + 9 3 基础 0x000000010364e19b -[NSObject(NSKeyValueCoding) setValue:forKey:] + 288 4 UIKit 0x0000000103c37d0c -[UIViewController setValue:forKey:] + 88 5 UIKit 0x0000000103e6e7fb -[UIRuntimeOutletConnection 连接] + 109 6 CoreFoundation 0x00000001050a9890 -[NSArray makeObjectsPerformSelector:] + 224 7 UIKit 0x0000000103e6d1de -[UINib instantiateWithOwner:选项:] + 1864 8 UIKit 0x0000000103c3e8d6 -[UIViewController _loadViewFromNibNamed:捆绑:] + 381 9 UIKit 0x0000000103c3f202 -[UIViewController loadView] + 178 10 UIKit 0x0000000103c3f560 -[UIViewController loadViewIfRequired] + 138 11 UIKit 0x0000000103c3fcd3 -[UIViewController 视图] + 27 12 UIKit 0x000000010440b024 -[_UIFullscreenPresentationController _setPresentedViewController:] + 87 13 UIKit 0x0000000103c0f5ca -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 133 14 UIKit 0x0000000103c525bb -[UIViewController _presentViewController:withAnimationController:完成:] + 4002 15 UIKit 0x0000000103c5585c -[UIViewController _performCooperativePresentOrDismiss:动画:] + 489 16 UIKit 0x0000000103c5536b -[UIViewController PresentViewController:动画:完成:] + 179 17 UIKit 0x00000001041feb8d __67-[UIStoryboardModalSegueTemplate newDefaultPerformHandlerForSegue:]_block_invoke + 243 18 UIKit 0x00000001041ec630 -[UIStoryboardSegueTemplate _performWithDestinationViewController:发送者:] + 460 19 UIKit 0x00000001041ec433-[UIStoryboardSegueTemplate_执行:] + 82 20 UIKit 0x00000001041ec6f7 -[UIStoryboardSegueTemplate 执行:] + 156 21 UIKit 0x0000000103aa6a8d -[UIApplication sendAction:to:from:forEvent:] + 92 22 UIKit 0x0000000103c19e67 -[UIControl sendAction:to:forEvent:] + 67 23 UIKit 0x0000000103c1a143 -[UIControl _sendActionsForEvents:withEvent:] + 327 24 UIKit 0x0000000103c19263 -[UIControl TouchsEnded:withEvent:] + 601 25 UIKit 0x0000000103b1999f - [UIWindow _sendTouchesForEvent:] + 835 26 UIKit 0x0000000103b1a6d4 - [UIWindow发送事件:] + 865 27 UIKit 0x0000000103ac5dc6 - [UI应用程序发送事件:] + 263 28 UIKit 0x0000000103a9f553 _UIApplicationHandleEventQueue + 6660 29 核心基础 0x0000000105095301 _CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION_ + 17 30 核心基础 0x000000010508b22c __CFRunLoopDoSources0 + 556 31 核心基础 0x000000010508a6e3 __CFRunLoopRun + 867 32 核心基础 0x000000010508a0f8 CFRunLoopRunSpecific + 488 33 图形服务 0x000000010726dad2 GSEventRunModal + 161 34 UIKit 0x0000000103aa4f09 UIApplicationMain + 171 35 迪克尔 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()  
}

Here is 主故事板

我检查了很多次代码,但它不起作用。首先我只能使用Table View,观看本教程(https://www.youtube.com/watch?v=ABVLSF3Vqdg https://www.youtube.com/watch?v=ABVLSF3Vqdg)我认为使用它会起作用Segmented Control如教程中所示。但还是不行。相同的代码,相同的错误。 有人能帮我吗 ?


您已将故事板设置为期望有一个名为tableView但实际的插座名称是myTableView.

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修复错误:此类与键 tableView 的键值编码不兼容。 [复制] 的相关文章

  • for循环中的范围是什么类型?

    当我们写下以下内容时 for i in 1 10 do stuff 我想知道什么类型有范围1 10在函数调用中使用它 例如 myFunc 1 10 如果在定义后放置断点let range 1 lt 10 你会发现它实际上不是一个Range结
  • 使用 Swift 使用 SOAP Web 服务

    我期望从 w3schools com 返回 XML SOAP 响应 http www w3schools com webservices tempconvert asmx http wwww w3schools com webservice
  • 在哪里可以找到“get-pip.py”下载链接?

    作为教程的一部分 我尝试下载 pip py 但链接现在不同了 我找不到可以下载 pip 的按钮 这是我得到的链接 https pip pypa io en stable installing cmdoption no setuptools
  • Swift:将字符串转换为十六进制颜色代码

    我已经从数据库生成了用户 ID 格式类似于 XzSYoKJaqKYREkdB2dgwt0fLOPP2 我想用它来创建 UIColor 我找到了几个解决方案 https github com yeahdongcn UIColor Hex Sw
  • 无法在新的 Xcode 10.2 (iOS 12.2) 中构建 Alamofire 框架

    由于以下错误 我无法在 Xcode 10 2 iOS 12 2 中为 swift 5 构建 Alamofire SWIFT VERSION 3 0 is unsupported supported versions are 4 0 4 2
  • 在 Swift 中寻找“退出”等价物[重复]

    这个问题在这里已经有答案了 我尝试把exit 0 在一个小型测试 命令行 程序中 Xcode 给出了一条错误消息 指出Use of unresolved identifier exit 这让我很困惑 因为这个问题 https stackov
  • Xcode 12 根本没有调用动态链接 Firebase 函数?

    因此 我有一个正在运行的动态链接 当我单击它时它会打开应用程序 但不会发生动态链接的处理 这是因为下面看到的应用程序功能从未输入过 我不知道为什么 func handleIncomingDynamicLink dynamicLink Dyn
  • 扩展可能不包含存储的属性,但为什么允许静态

    扩展不能包含存储属性 但是为什么扩展中可以定义静态存储属性呢 我也没有找到任何文档提到扩展中允许静态属性 extension String static let test Test static var test2 Test2 扩展名不能包
  • UITextField 文本更改事件

    如何检测文本字段中的任何文本更改 委托方法shouldChangeCharactersInRange适用于某些东西 但它并不能完全满足我的需求 因为在它返回 YES 之前 textField 文本不可用于其他观察者方法 例如在我的代码中ca
  • 如何将渐变应用于 iOS Swift 应用程序的背景视图

    我正在尝试应用渐变作为视图 故事板的主视图 的背景颜色 代码运行 但没有任何变化 我正在使用 xCode Beta 2 和 Swift 这是代码 class Colors let colorTop UIColor red 192 0 255
  • 如何从 GCD (DispatchQueue) 转换为 Swift async/await?

    我正在关注斯坦福大学的 CS193p 开发 iOS 应用程序在线课程 它使用 Grand Central Dispatch GCD API 来演示多线程 但他们指出 自 WWDC 2021 起 GCD 已大部分被 Swift 新的内置异步
  • 当用户到达 UITableView 的最后一行时,如何动态添加行?

    我有一个UITableview当前显示 10 行 固定为静态 现在我想在其中添加一个功能 当用户到达最后一行时 我想向表中添加更多 10 行UITableView 我的意思是目前我在应用程序中显示固定的 10 行 但现在我想在用户到达上一个
  • 对于 Swift 中的计算器

    只是要警告你 我是 Swift 的新手 我仍在适应它的工作原理 我一直在尝试在课堂上完成这个计算器项目 问题是 我需要练习简化代码 现在 当按下数字按钮时 我将其保存在这样的数组中 IBAction func buttonPressed s
  • Swift - 本地通知不会被触发

    我正在 Swift 3 中编码 我只是想发送通知now没有任何延迟或间隔 然而 通知永远不会被触发 这是我的代码 视图控制器代码 import UserNotifications class HomeViewController UIVie
  • 从数组中获取随机字符串[重复]

    这个问题在这里已经有答案了 我试图从数组 firstArray 中获取随机字符串并将其打印在 UILabel label 中 我似乎无法弄清楚并且出现错误 感谢您的帮助 我尝试搜索但找不到任何最新的教程 方法 import UIKit cl
  • 如何在 SwiftUI 中将阴影应用于内部视图?

    我在周围添加了阴影VStack其中包含我的两个文本字段和一个提交按钮 然而 阴影也被应用到了文本框内的两个文本字段 VStack 我在这里缺少什么导致这种情况发生吗 我尝试添加shadow radius 0 在文本字段上 但它不会改变任何内
  • 我如何从子视图导航到 mainviewcontroller

    我刚刚开始使用 swift 我创建了一个子视图 上面有一个按钮 我想使用该按钮将我带到我的主视图控制器 我对不同的按钮使用了相同的功能 但是在同一文件中具有一个功能允许该按钮工作 代码如下 var playAgainButton UIBut
  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置
  • Swift:使具有相同“形状”的两种类型符合通用协议

    我有两种不同的类型 它们代表相同的数据 并且具有完全相同的 形状 这两种不同的类型是代码生成的 我被迫处理它们 但是 我想让它们符合一个通用的协议 这样我就可以对这两种类型一视同仁 这是一个例子 假设这是我所坚持的两种代码生成类型 stru

随机推荐