发出从另一个类中的方法调用重新加载cellForRowAtIndexPath - Objective C

时间:2014-04-12 00:35:31

标签: ios objective-c

我在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正常工作的内容。

建议,想法?

大卫

1 个答案:

答案 0 :(得分:0)

您正在致电[self.tableView reloadData],但我不认为您正在调用的对象是您的表视图控制器。否?