我正在显示通过故事板初始化的动态表视图。 没什么好看的,只是用文本标签初始化3个单元格。
以下是实际发生的事情:
2014-08-15 12:39:19.909 PopTestAnimation[31825:60b] numberOfSectionsInTableView
2014-08-15 12:39:19.926 PopTestAnimation[31825:60b] numberOfSectionsInTableView
2014-08-15 12:39:19.927 PopTestAnimation[31825:60b] numberOfRowsInSection
2014-08-15 12:39:19.929 PopTestAnimation[31825:60b] cellForRowAtIndexPath: 0
2014-08-15 12:39:19.943 PopTestAnimation[31825:60b] Displaying row: 0
2014-08-15 12:39:19.943 PopTestAnimation[31825:60b] cellForRowAtIndexPath: 1
2014-08-15 12:39:19.945 PopTestAnimation[31825:60b] Displaying row: 1
2014-08-15 12:39:19.945 PopTestAnimation[31825:60b] cellForRowAtIndexPath: 2
2014-08-15 12:39:19.946 PopTestAnimation[31825:60b] Displaying row: 2
2014-08-15 12:39:19.947 PopTestAnimation[31825:60b] numberOfSectionsInTableView
2014-08-15 12:39:19.947 PopTestAnimation[31825:60b] numberOfRowsInSection
2014-08-15 12:39:19.948 PopTestAnimation[31825:60b] cellForRowAtIndexPath: 0
2014-08-15 12:39:19.949 PopTestAnimation[31825:60b] Displaying row: 0
2014-08-15 12:39:19.949 PopTestAnimation[31825:60b] cellForRowAtIndexPath: 1
2014-08-15 12:39:19.950 PopTestAnimation[31825:60b] Displaying row: 1
2014-08-15 12:39:19.951 PopTestAnimation[31825:60b] cellForRowAtIndexPath: 2
2014-08-15 12:39:19.952 PopTestAnimation[31825:60b] Displaying row: 2
似乎每个单元格由于某种原因被初始化了两次。有什么想法吗?
以下是code
答案 0 :(得分:3)
我刚检查了故事板文件。在 TraffleViewController (UITableViewController的子类)的故事板中,你有一个 UITableViewWrapper 和另一个 UITableView 。
应该只有一个 UITableViewWrapper ,其中没有其他 UITableView 。由于UITableViewWrapper中有一个UITableView,因此有两次调用:
cellForRowAtIndexPath:
如果你进行调试并在里面打印UITableView的实例:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
你会发现两个独立的UITableView实例 请按照以下步骤解决。
1.删除名为" Table View"从故事板。
2.在TraffleViewController中拖出一个UITableView
3.将UITableView的数据源和委托设置为TraffleViewController。