将行分组到IOS的部分或组中

时间:2014-01-01 11:00:40

标签: ios uitableview

我正在开发Xcode 5.0.2。我正在关注这些lynda tutorials。问题是我无法在其中一个视频中创建tableView的一个或多个组..我已经将表视图更改为分组,但它只显示一个部分。

这是我的代码

@implementation ViewController {
    NSDictionary *courseDetails;
    NSArray *justCourseNames;

    NSDictionary *webCourseDetails;
    NSArray *webCourseNames; 
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{
    return 2; 
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{   
    if(section==0) {
        return @"iOS Courses";
    } else {
        return @"Web Courses";
    }
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{  
    if(section==0) {
        return courseDetails.count;
    } else {
        return webCourseDetails.count;
    }
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{     
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; /

    if(indexPath.section==0) {
        cell.textLabel.text = justCourseNames[indexPath.row];
    } else {
        cell.textLabel.text = webCourseNames[indexPath.row];
    }
    return cell;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSURL *url = [[NSBundle mainBundle] URLForResource:@"courses" withExtension:@"plist"];
    courseDetails = [NSDictionary dictionaryWithContentsOfURL:url];
    justCourseNames = courseDetails.allKeys; 

    NSURL *urlWeb = [[NSBundle mainBundle] URLForResource:@"courses_web" withExtension:@"plist"];
    webCourseDetails = [NSDictionary dictionaryWithContentsOfURL:urlWeb];
    webCourseNames = webCourseDetails.allKeys;
}

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

@end

2 个答案:

答案 0 :(得分:0)

我没有在提供的代码中看到任何错误。只需确保将dataSource设置为tableView即可。在故事板中,最简单的方法是控制 - 从tableView拖动到对象轮廓中的ViewController,并在发布时从菜单中选择dataSource。

答案 1 :(得分:0)

问题是模拟器没有填充所有行。

我重新启动了模拟器,现在工作正常。