gpt4 book ai didi

swift - 为什么我收到错误 : "Class is not key-value coding compliant for key major" even though major is a property of the class?

转载 作者:行者123 更新时间:2023-11-30 10:44:20 24 4
gpt4 key购买 nike

我正在尝试使用 NSArrays 和 NSPredicates 来过滤 UITableView 的某些单元格。我有一个名为 FilterTable 的 TableViewController 类,它由 FilterCell 组成,它是 UITableViewCell 的子类。过滤器单元格中的数据来自 UserProfile,它具有“major”属性。当用户单击按钮时,我希望表格仅显示与以计算机科学为专业的用户相对应的单元格。我创建了一个 NSPredicate 来过滤用于填充表的 UserProfile 数组,但是当我这样做时,我收到错误

*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ valueForUndefinedKey:]:此类与关键专业的键值编码不兼容。”

但是,正如我所说,major 是 UserProfile 的属性。

对键值合规性问题的其他修复表明接口(interface)构建器中的 socket 未正确连接。但是,UserProfile 没有直接显示在 FilterTable 上,因此没有通过 IB 连接,我也不希望如此。相反,FilterTable 有一个 UserProfiles 数组,用于填充 FilterCells。我还尝试将 FilterCell 链接到 FilterTable,然后我可以访问与 Major 相对应的标签,但这给了我一个错误,即您无法为重复内容创建导出。

// FROM FilterTable:
...
let predicate = NSPredicate(format: "major = 'Computer Science'")
filteredProfiles = (userProfilesArray as NSArray).filtered(using: predicate) as NSArray
...


// FROM UserProfile
class UserProfileViewController: UIViewController {
var major: String!
...

最佳答案

您尚未指定具有主要属性的元素,请尝试此操作...

userProfilesArray.filter{$0.major == "Computer Science"}

假设您的数组是 Profile 对象的数组

关于swift - 为什么我收到错误 : "Class is not key-value coding compliant for key major" even though major is a property of the class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56082274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com