Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在UIviewController中添加UITableView_Ios_Uitableview_Uiviewcontroller - Fatal编程技术网

Ios 在UIviewController中添加UITableView

Ios 在UIviewController中添加UITableView,ios,uitableview,uiviewcontroller,Ios,Uitableview,Uiviewcontroller,我有一个UIViewController(ViewControllerA),在此UIViewController中,我想添加一个占据部分屏幕的UITableView子视图(名为TableLoadGroupMembersViewController)。我已经为UITableView创建了名为TableLoadGroupMembersViewController的类 在ViewControllerA.h中,我以以下方式导入了TableLoadGroupMembersViewController: #

我有一个
UIViewController
(ViewControllerA),在此
UIViewController
中,我想添加一个占据部分屏幕的
UITableView
子视图(名为
TableLoadGroupMembersViewController
)。我已经为
UITableView
创建了名为
TableLoadGroupMembersViewController
的类

ViewControllerA.h
中,我以以下方式导入了
TableLoadGroupMembersViewController

#import "TableLoadGroupMembersViewController.h"
ViewcontrollerA.m
中,我想在按下按钮时通过代码创建
UITableView
。我希望
UITableView
TableLoadGroupMembersViewController
加载内容。如何设置
UITableView
以读取
TableLoadGroupMembersViewController
的信息

我试着这样做:

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

[self.view addSubview:tableVIEW]; 
但这让应用程序崩溃。我该怎么做

编辑:

这是给定的错误:

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

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

因此,如果使用ARC,则当您退出创建tableView的方法时,您的
TableLoadGroupMembersViewController
实例将被释放。实例解除分配后,数据源和委托指向无效的内存地址(因为它们的@property是
assign
,而不是
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]; 

你有事故记录吗?是否为数据源/委托添加了所有必需的方法?当您将数据源分配给tableview时,将调用其方法。你发布的错误没有给出任何想法。在UITableViewDataSource方法中发布代码。目前还没有代码,它只是从Xcode中的New添加的模板,在投票否决该问题之前,我已将UITableViewControllerB作为类型,请证明:(这似乎是一个合理的问题,我想你是否设置了有效的(已初始化)您的
TableLoadGroupMembersViewController作为
tableVIEW
的数据源的实例?实际上我遇到了一个问题。似乎没有调用TableLoadGroupMembersViewController中的代码,因为NSLogging anyware(即使在视图中没有加载)不会给出任何结果