• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 更改未分段控件时不会加载 Tableview 数据

[复制链接]
菜鸟教程小白 发表于 2022-12-13 08:58:45 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

//tableview 没有变化。我已经在这几天了。看起来很简单。谢谢你的帮助

#import "StopsTableViewController.h"

static NSString *MyIdentifier = @"RouteListing";

@interface StopsTableViewController ()

@property (strong, nonatomic) NSArray *TESTARRAY;

@end


@implementation StopsTableViewController

- (instancetype)initWithNibNameNSString *)nibNameOrNil bundleNSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    
    if (self) {
        //Set the tab bar item's title
        self.title = @"Stops";
        
    }        
    
    self.stopList = [[API sharedAPI] fetchStopListing];
    
    self.TESTARRAY = @[@"Josh", @"Kyle", @"Nate"];

    return self;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:MyIdentifier];
    
    // Adds Segmented Control
    [self segmentedView];    

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void) segmentedView {
    NSArray *segmentedMenu = [NSArray arrayWithObjects"All", @"Near Me", nil];
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentedMenu];
    [segmentedControl addTarget:self
                         actionselector(valueChanged
               forControlEvents:UIControlEventValueChanged];
    
    segmentedControl.selectedSegmentIndex = 0;
    self.navigationItem.titleView = segmentedControl;
    
}

pragma mark - 表格 View 数据源

- (NSInteger)numberOfSectionsInTableViewUITableView *)tableView {
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableViewUITableView *)tableView numberOfRowsInSectionNSInteger)section {
    if ([self.segmentedControl selectedSegmentIndex] == 0) {
        return  [self.stopList count];
        
    }
    else {
        return [self.TESTARRAY count];
        
    }
}


- (UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath {
    
    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:MyIdentifier];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    if (_segmentedControl.selectedSegmentIndex == 0) {
        
            cell.textLabel.text = [[self.stopList objectAtIndex:indexPath.row] objectForKey"stoptitle"];
            cell.detailTextLabel.text = [NSString stringWithFormat"Stop %@", [[self.stopList objectAtIndex:indexPath.row] objectForKey"stopnumber"]];
    }
    
    else {
        cell.textLabel.text = self.TESTARRAY[indexPath.row];
        
    }
    
    return cell;
}

pragma mark - TableView 委托(delegate)

// In a xib-based application, navigation from a table can be handled in -tableView:didSelectRowAtIndexPath:
- (void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)indexPath {
    // Navigation logic may go here, for example:
    // Create the next view controller.
    StopInfoViewController *detailViewController = [[StopInfoViewController alloc] initWithNibName"StopInfoViewController" bundle:nil];
    
    // Pass the selected object to the new view controller.
    
    detailViewController.stopInfo = [[self.stopList objectAtIndex:indexPath.row] objectForKey"stopnumber"];
    
    detailViewController.stopName = [[self.stopList objectAtIndex:indexPath.row] objectForKey"stoptitle"];
    
    
    // Push the view controller.
    [self.navigationController pushViewController:detailViewController animated:YES];
}


//Function for segmentedView
-(void) valueChangedUISegmentedControl *)sender {
     
    [self.tableView reloadData];
    NSLog(@"I'm getting called segment number is: %ld", (long)sender.selectedSegmentIndex);
    
}

@end



Best Answer-推荐答案


在调用 table reload 方法之前检查您的数据源数组,并确保该数组包含与您选择的段相对应的新值。

关于ios - 更改未分段控件时不会加载 Tableview 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31332526/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap