gpt4 book ai didi

objective-c - dequeueReusableHeaderFooterViewWithIdentifier 中的 Dequeing HeaderView 提示 IBoutlet

转载 作者:行者123 更新时间:2023-12-02 08:35:28 24 4
gpt4 key购买 nike

我创建了一个自定义 UIView,我想将其用作 TableView 的页眉部分 View 。所以我手动创建了一个带有 UIView 组件的 NIB。然后我为要与该类关联的类手动创建了 *.m 和 *.h,“AssignmentHeaderView.m”和“AssignmentHeaderView.h”,我将 NIB 的类设置为“AssignmentHeaderView”。此外,我在 AssignmentHeaderView.h 中创建了一个“ View ”属性,如下所示:

@property (strong, nonatomic) IBOutlet UIView *view;

我在这个“ View ”属性和 Interface Builder 中的“ View ”之间建立了联系。

然后在我的 TableViewController 中,我将此 Nib 注册为 ViewDidLoad 中的 HeaderView:

[self.tableView registerNib:[UINib nibWithNibName:@"AssignmentHeaderView" bundle:nil] forHeaderFooterViewReuseIdentifier:@"AssignmentHeaderView"];

这样我以后就可以在“viewForHeaderInSection”委托(delegate)中出列这个标题 View ,如下所示:

AssignmentHeaderView *headerView = [self.tableView dequeueReusableHeaderFooterViewWithIdentifier:@"AssignmentHeaderView"];

但是我在这一行收到异常错误并显示以下消息:

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

所以错误是提示 AssignmentHeaderView 中没有“ View ”属性,当 NIB 未存档时,我认为这就是在说什么。但是我确实在 AssignmentHeaderView.h 中设置了“ View ”属性,所以我不明白为什么会出现此错误。

非常感谢任何帮助。

-玛莲娜

最佳答案

对于一般知识,我发现了问题。“dequeueReusableHeaderFooterViewWithIdentifier”tableView 方法期望被出队的实例属于类类型:UITableViewHeaderFooterView。

由于我尝试使用自定义 UIView 子类,因此编译器不满意。我只能推测为什么它没有告诉我我正在出列的 View 的类应该是 UITableViewHeaderFooterView 类型,而是给我一个 NIB 加载错误。但无论如何,有人发布了一个很好的解决方案,说明如何使用 UITableViewHeaderFooterView 创建 Header Section 自定义 View 。

这里是: http://iosdev12.blogspot.com/2013/07/how-to-set-custom-section-header-in.html

这对我有用

关于objective-c - dequeueReusableHeaderFooterViewWithIdentifier 中的 Dequeing HeaderView 提示 IBoutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22051144/

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