我的两个桌面视图并排存在严重问题。我创建了一个界面,我可以看到文件夹(名为Collection),如果点击按钮,它会显示有关数据的信息(命名为Likes)。
但是,我真的不明白为什么有很多方法可行,而且不能使用cellForRowAtIndexPath。 这就是问题所在:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
if (tableView == _collectionTableView)
所以,这只是不起作用。他让我每次都去sigabrt。因为我的所有功能都有3种选择: 如果你是_collectionTableView,你去吧。如果你是" _LikesTableView",那么你去吧,那就是它没有。
但是,如果我把_LikesTableView作为第一选择,除了它之外的所有工作都会发给我_LikesTableView,即使其他方法如下:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
让我成为_CollectionTableView ...所以我的日志非常有趣它来自"我是_CollecTableView"到了"我是_LikesTableView"仅适用于cellForRowAtIndexPath。
我无法让我的_CollectionTableView正常工作,而我的_LikesTableView似乎在#34; if"取代"否则如果"。
所以我想我不能很好地使用这个方法,因为我不应该在这个方法中提到我的tableview的名字...所以,如果有人能够帮助我,真的,非常非常感谢!
非常感谢。 编辑:着名的日志:
2014-08-14 11:40:07.269 [TestLog] Je le prend bien en compte le collectableview
2014-08-14 11:40:07.269 [TestLog] Je le prend bien en compte le collectableview
2014-08-14 11:40:07.270 [TestLog] Je le prend bien en compte le collectableview
2014-08-14 11:40:07.842 [TestLog] Je passe bien dans le cellforrow
2014-08-14 11:40:07.843 [TestLog] Je suis LikesTableView
2014-08-14 11:40:07.950 [TestLog] Je passe bien dans le cellforrow
2014-08-14 11:40:07.951 [TestLog] Je suis LikesTableView
2014-08-14 11:40:08.070 [TestLog] Je passe bien dans le cellforrow
2014-08-14 11:40:08.070 [TestLog] Je suis LikesTableView
2014-08-14 11:40:08.191 [TestLog] Je passe bien dans le cellforrow
2014-08-14 11:40:08.191 [TestLog] Je suis LikesTableView
2014-08-14 11:40:08.286 [TestLog] Je passe bien dans le cellforrow
2014-08-14 11:40:08.287 [TestLog] Je suis LikesTableView
2014-08-14 11:40:08.355 [TestLog] Je passe bien dans le cellforrow
2014-08-14 11:40:08.356 [TestLog] Je suis LikesTableView
2014-08-14 11:40:08.428 [TestLog] Je passe bien dans le cellforrow
2014-08-14 11:40:08.429 [TestLog] Je suis LikesTableView
2014-08-14 11:40:08.502 [TestLog] Je passe bien dans le cellforrow
2014-08-14 11:40:08.502 [TestLog] Je suis LikesTableView
希望能帮助> ____<"
答案 0 :(得分:1)
如何考虑为tableView使用标记。
在您初始化它的collectionTableView的第一个设置标记,例如viewDidLoad
_collectionTableView.tag = 1;
并在您的cellForRowAtIndexPath,而不是if (tableView == _collectionTableView)
,使用tag来检查哪个tableView正在调用方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView.tag == 1)
{
///do something
}
else
{
///do something
}
}
答案 1 :(得分:1)
我同意凯西使用标签进行比较的方法。 此外,您可以为每个表视图提供单独的数据源,以避免混淆(如果在您的设计中可行)。因此应该创建另一个符合UITableViewDataSource的类。可以将此新类指定为其中一个tableView的dataSource。