Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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 TablewView不显示数据(调用代理)_Ios_Objective C_Uitableview_Delegates - Fatal编程技术网

iOS TablewView不显示数据(调用代理)

iOS TablewView不显示数据(调用代理),ios,objective-c,uitableview,delegates,Ios,Objective C,Uitableview,Delegates,我对iOS编程非常陌生,只是尝试设置一个选项卡视图,包括一个普通视图和一个表视图 现在出现了一个问题,表视图不会得到更新。所有单元格总是空的 以下是我声明ViewController的方式: @interface SecondViewController : UITableViewController { 根据my logs,所有代理都被正确调用,甚至此方法中的我的日志也被打印到控制台 - (UITableViewCell *)tableView:(UITableView *)tableVie

我对iOS编程非常陌生,只是尝试设置一个选项卡视图,包括一个普通视图和一个表视图

现在出现了一个问题,表视图不会得到更新。所有单元格总是空的

以下是我声明ViewController的方式:

@interface SecondViewController : UITableViewController {
根据my logs,所有代理都被正确调用,甚至此方法中的我的日志也被打印到控制台

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CooperCell"];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"CooperCell"];
    }

    NSLog(@"test");

    cell.textLabel.text = @"test";    
    return cell;
}
“test”是logges的3倍,因为我的数组大小为3。所以我不明白为什么它不会出现。当然,我通过故事板给了细胞一个标识符“CooperCell”。我是否错过了其他链接

我的SecondViewController.h如下所示:

@interface SecondViewController : UITableViewController {
    NSManagedObjectContext *managedObjectContext;
    NSMutableArray *eventArray;
}

@property (nonatomic, strong) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, strong) NSMutableArray *eventArray;

- (void) fetchRecords;

@end
我正在使用本教程:

也许我真的把故事板搞砸了


我创建了一个新的选项卡控制项目。然后,我删除了第二个视图控制器并放置了一个TableViewController,然后继续使用我的SecondViewController.h和.m文件

检查是否已将表视图从情节提要连接到.h文件中的IBOutlet变量UITablveView。您提到您已经链接了单元格。我不确定这样做是否正确

另一种可能是,您尚未将情节提要上的视图控制器标识为您的类名(SecondViewController)

如果在尝试/确认这些之后无法工作,那么也共享您的.h文件。我们将能够提供更多帮助


查看是否正在调用重载数据来刷新表的内容

当您创建第二个视图控制器(SecondViewController)作为UITableViewController时,不需要单独设置表视图数据源或委托。UITableViewController附带默认表视图和自定义表视图单元格。所以,我不认为您缺少任何指向tableview数据源的链接

让我们做一些故障排除

(注:这正是我要做的。以下不是根据任何标准。它只是根据我的经验。)

测试1:

你说,你用的是基本的。尝试将其更改回自定义表视图样式。 现在在CellForRowatineXpath方法中将单元格类型也更改为UITableViewCellStyleDefault

差不多-

if (cell == nil) {
    cell = [[UITableViewCell alloc] UITableViewCellStyleDefault reuseIdentifier:@"CooperCell"];
}
现在尝试构建代码

测试2:


检查是否已将第二个视图控制器连接到情节提要中的选项卡栏项

现在尝试构建代码

测试3:

最后,在情节提要中,检查是否已将自定义类设置为SecondViewController。我想已经有人为此贴了一张照片


现在尝试构建代码。

我使用的是Basic。在这之前,这是什么意思XYU很多人没有设置委托或数据源,我用.h文件编辑了问题,并参考了教程。当我尝试教程时,它运行良好。他们所做的一切都和我的一样。。让我的类从TableViewController继承,我如何为我的控制器设置标识符?我已经在找一些东西了。请看我添加的图片。单击情节提要中的SecondViewController时,应在“属性”面板上选择类,即SecondViewController。不是默认的UITableViewController。是的。否则我的日志就不会被调用