cuốn sách gpt4 ai đã làm

ios - 在 UIviewController 中添加 UITableView

In lại Tác giả: Walker 123 更新时间:2023-11-29 03:50:45 hai mươi bốn 4
mua khóa gpt4 Nike

tôi có một cái UIViewController (ViewControllerA),在这个 UIViewController 中,我想添加一个占据部分屏幕的 UITableView subview (名为TableLoadGroupMembersViewController)。我已经为 UITableView 创建了名为 TableLoadGroupMembersViewController lớp học.

hiện hữuViewControllerA.h中,我通过以下方式导入了TableLoadGroupMembersViewController:

#import "TableLoadGroupMembersViewController.h"

hiện hữuViewcontrollerA.m中,我想在按下按钮时通过代码创建UITableView。我希望 UITableView từ TableLoadGroupMembersViewController 加载内容。如何设置UITableView读取TableLoadGroupMembersViewController的信息?

我尝试过这样的方式:

UITableView* tableVIEW = [[UITableView alloc]init];
TableLoadGroupMembersViewController* tableDelegate = [[TableLoadGroupMembersViewController alloc] init];
[tableVIEW setDelegate:tableDelegate];
[tableVIEW setDataSource:tableDelegate];

[self.view addSubview:tableVIEW];

但这会使应用程序崩溃。我应该怎么做?

biên tập:

这是给出的错误:

0x387209b: movl 8(%edx), %edi .... Thread 1 EXE Bad access

câu trả lời hay nhất

UITableView 不保留其数据源或委托(delegate),这些仅被分配。

因此,如果您使用 ARC,当您退出创建 tableView 的方法时,您的 TableLoadGroupMembersViewController 实例将被释放。实例被释放后,dataSource 和 delegate 指向无效的内存地址(因为它们的 @property 是 assign thay vì weak)

您可以将 TableLoadGroupMembersViewController* tableDelegate 设置为强实例变量,这样它就不会被释放。

类似这样的事情。

// .h
@property (strong, nonatomic) TableLoadGroupMembersViewController* tableDelegate;

// .m

UITableView* tableVIEW = [[UITableView alloc]init];
TableLoadGroupMembersViewController* tableDelegate = [[TableLoadGroupMembersViewController alloc] init];
self.tableDelegate = tableDelegate;
[tableVIEW setDelegate:tableDelegate];
[tableVIEW setDataSource:tableDelegate];

[self.view addSubview:tableVIEW];

关于ios - 在 UIviewController 中添加 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17110762/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress