我正在开发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
答案 0 :(得分:0)
我没有在提供的代码中看到任何错误。只需确保将dataSource设置为tableView即可。在故事板中,最简单的方法是控制 - 从tableView拖动到对象轮廓中的ViewController,并在发布时从菜单中选择dataSource。
答案 1 :(得分:0)
问题是模拟器没有填充所有行。
我重新启动了模拟器,现在工作正常。