Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.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

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 创建我的UITableViewCells时,为什么从未调用init?(导致空白单元格?)_Ios_Objective C_Uiview_Uitableview - Fatal编程技术网

Ios 创建我的UITableViewCells时,为什么从未调用init?(导致空白单元格?)

Ios 创建我的UITableViewCells时,为什么从未调用init?(导致空白单元格?),ios,objective-c,uiview,uitableview,Ios,Objective C,Uiview,Uitableview,在我的UITableView中,我最近改变了单元格的结构,从以前只将UILabel放在单元格的contentView中,改为在contentView中添加两个UIView(CellFront和CellBack,一个接一个)(因此,我可以通过将顶部的一个滑动并显示下部的一个来实现滑动效果)以及将UILabel添加到顶部UIView 然而,现在,不管出于什么原因,这些单元格从未初始化,因此我的UITableView中充满了空白单元格 My cell的创建如下(ArticleCell是UITableV

在我的UITableView中,我最近改变了单元格的结构,从以前只将UILabel放在单元格的contentView中,改为在contentView中添加两个UIView(CellFront和CellBack,一个接一个)(因此,我可以通过将顶部的一个滑动并显示下部的一个来实现滑动效果)以及将UILabel添加到顶部UIView

然而,现在,不管出于什么原因,这些单元格从未初始化,因此我的UITableView中充满了空白单元格

My cell的创建如下(ArticleCell是UITableViewCell的子类):

但是我在上面的if语句中的initWithStyle方法上设置了一个断点,它从未被调用:

这是什么原因造成的?我每次都会删除应用程序并从头开始构建,因此数据肯定会添加到UITableView中,但所有单元格都是空白的。我可以看出有一堆单元格被添加了,因为我在所有单元格上都有公开指示符,而表视图中只填充了带有指示符的空单元格

我做错了什么?

试试看

ArticleCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
而不是

ArticleCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

第一种是旧的标准方式。它不会为您创建单元格。而对于第二个单元,将从情节提要中创建一个单元。因此,如果你使用故事板,你应该使用你现在使用的方法,但它永远不会进入if分支,因为单元格永远不会为零



实例化表单情节提要时,永远不会调用
initWithStyle:reuseIdentifier:
。在
-initWithCoder:
-layoutSubviews

中设置所有内容仍然不会被调用。我确实想要一个从故事板创建的单元。在我将两个UIView子视图添加到UITableViewCell之前,这一切都很正常。那么如何添加这些子视图呢?你知道,你的类不起作用->你应该告诉我们更多关于你的类(“讲述”aka“显示代码”)请在问题文本中添加最重要的部分。我无法在这里打开zip(iOS)你应该使用gist或其他无服务粘贴应用程序,如Readdle的Documents,允许你打开zip。不过,我会做一个要点。根据@vikingosegundo提供的关于
dequeueReusableCellWithIdentifier:forIndexPath:
的信息,听起来您的
tableView:CellForRowatineXpath:
工作正常。这似乎表明,在您的<代码> TooCeLeule<代码>类中,您已经更改了导致空白单元格的内容。提供此类的实现可能会揭示问题。以下是与
ArticleCell
类相关的文件:
ArticleCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];