解决方案 »

  1.   

    你的目的是什么呢? 还需要在回退到上一个控制器时刷新这个控制器? 先不说这个,先说你提的问题,在viewwillapper中使用reload 方法时有没有检查你的数据源是否有数据,再一个就是tableview的delegate,datasource是已都有绑定
      

  2.   

    Q:你的目的是什么呢? 还需要在回退到上一个控制器时刷新这个控制器?
    A:因为我回退到上一个控制器 时,tableview没有数据了,我才想着是不是需要手动再加载一下。
      

  3.   

    Q:你的目的是什么呢? 还需要在回退到上一个控制器时刷新这个控制器?
    A:因为我回退到上一个控制器 时,tableview没有数据了,我才想着是不是需要手动再加载一下。
    tableview怎么会没有数据了呢? 你不是还点击cell 进行push到其它视图的操作了吗? 如果push到另外一个视图那么这个视图的状态是不会变的,在你pop回来后应该显示的还是push前的状态。查一下tableview何时没有数据的。
      

  4.   


    tableview怎么会没有数据了呢? 你不是还点击cell 进行push到其它视图的操作了吗? 如果push到另外一个视图那么这个视图的状态是不会变的,在你pop回来后应该显示的还是push前的状态。查一下tableview何时没有数据的。
    针对MainTableListViewController,我在选中某一行时执行如下操作 跳转:
    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
    ......    if([strtype isEqualToString:@"2"])
        {
            if ([strState intValue] != 1) {
                [ProgressHUD showMessage:@"设备不在线"];
            }else{
                MainTableListViewController *theView=[[MainTableListViewController alloc]initWithNibName:@"MainTableListViewController" bundle:nil];
                theView.nodeType = @"2";
                kaerSdk.nodeType = @"2";
                
                theView.parentID = strID;
                kaerSdk.nodeParentID = strID;
                
                theView.nodeState = strState;
                theView.nodeNane = strName;
                [self.navigationController pushViewController:theView animated:YES];
            }
        }
    .....}导航上面加了一个按钮,里面执行如下:
    #pragma  返回事件
    -(void)backPopAction{
        if ([self.nodeType isEqualToString:@"2"]) {
            self.nodeType = @"1";
        }
        [self.navigationController popViewControllerAnimated:YES];
    }
    数据的加载在这里:
    - (void)viewDidLoad{
        [super viewDidLoad];
        // 设置标题
        [self setTitle:self.nodeNane];
        NSLog(@"MainTableListView viewDidLoad data");
        
        kaerSdk = [KaerIOSSDK sharedManager];
        _tableListArray = [kaerSdk selectNode];
    .............
    .............
    }在cellForRowAtIndexPath接口中执行如下
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"Cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        NSArray *rowArry;
           rowArry = [_tableListArray objectAtIndex:[indexPath row]];
      
        NSString *strID = [rowArry objectAtIndex:0];
    NSString *strName = [rowArry objectAtIndex:1];
    ..........
    添加到tableview
    ..........
    }选中tableview某一行执行pushViewController:theView,刷出新的数据显示到tableview上,再执行popViewControllerAnimated想返回上一级视图,结果tableview就成空白了,啥也木有
      

  5.   

    针对MainTableListViewController,我在选中某一行时执行如下操作 跳转:
    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
    ......    if([strtype isEqualToString:@"2"])
        {
            if ([strState intValue] != 1) {
                [ProgressHUD showMessage:@"设备不在线"];
            }else{
                MainTableListViewController *theView=[[MainTableListViewController alloc]initWithNibName:@"MainTableListViewController" bundle:nil];
                theView.nodeType = @"2";
                kaerSdk.nodeType = @"2";
                
                theView.parentID = strID;
                kaerSdk.nodeParentID = strID;
                
                theView.nodeState = strState;
                theView.nodeNane = strName;
                [self.navigationController pushViewController:theView animated:YES];
            }
        }
    .....}导航上面加了一个按钮,里面执行如下:
    #pragma  返回事件
    -(void)backPopAction{
        if ([self.nodeType isEqualToString:@"2"]) {
            self.nodeType = @"1";
        }
        [self.navigationController popViewControllerAnimated:YES];
    }
    数据的加载在这里:
    - (void)viewDidLoad{
        [super viewDidLoad];
        // 设置标题
        [self setTitle:self.nodeNane];
        NSLog(@"MainTableListView viewDidLoad data");
        
        kaerSdk = [KaerIOSSDK sharedManager];
        _tableListArray = [kaerSdk selectNode];
    .............
    .............
    }在cellForRowAtIndexPath接口中执行如下
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"Cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        NSArray *rowArry;
           rowArry = [_tableListArray objectAtIndex:[indexPath row]];
      
        NSString *strID = [rowArry objectAtIndex:0];
    NSString *strName = [rowArry objectAtIndex:1];
    ..........
    添加到tableview
    ..........
    }选中tableview某一行执行pushViewController:theView,刷出新的数据显示到tableview上,再执行popViewControllerAnimated想返回上一级视图,结果tableview就成空白了,啥也木有你程序压个包吧。发到这个邮箱[email protected] 有空我帮你看看