我在ViewController
类中有以下方法:
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:
(NSIndexPath *)indexPath
{
UITableViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
NSInteger tag = cell.tag;
// SEND TO SINGLE NEWS FEED TO DISPLAY THE INFORMATION OF THE VIDEO
singleNewsFeed* myScript = [[singleNewsFeed alloc] init];
[myScript startProcess:tag];
[self performSegueWithIdentifier:@"moveToSingleData" sender:self];
}
接收者类:
- (void)startProcess:(NSInteger)number {
NSInteger check = number;
singlecellID = check;
// MAKE REQuEST TO SERVER
[self makeRequests];
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
}
所以会发生makeRequests
运行并刷新tableView
的情况。除了tableView
cellForRowAtIndexPath
的所有方法都会运行
以下是我所知道的所有这些都正常工作,因为除了sub viewcontrollers
parent viewcontroller
之外,我有完全相同的类完成同样的事情。我有同样的问题,并在调用方法时使用self.parentViewController.childViewControllers[1];
来修复它并且它工作得很好。但这是不同的,因为这是一个完全独立的ViewController
。因此,我不知道如何使用ViewController
来调用允许cellForRowAtIndexPath
正常工作的内容。
建议,想法?
大卫
答案 0 :(得分:0)
您正在致电[self.tableView reloadData]
,但我不认为您正在调用的对象是您的表视图控制器。否?