Ios 在tableView中声明两个节,但只显示一个节

Ios 在tableView中声明两个节,但只显示一个节,ios,objective-c,Ios,Objective C,下面是关于表视图的Lynda.comiOS教程。我们正在做的演示应该是创建一个包含两个部分的表视图。这两个部分的数据是从控制器(即委托)的viewDidLoad方法中的plist文件导入的,正如您在下面看到的,我声明应该有两个部分,并给每个部分一个标题 然而,当我在模拟器中运行它时,只有第一部分(标题为“iOS课程”)出现在屏幕上(我无法向下滚动)。web\u课程部分不显示。从下面的代码中,您能解释一下为什么没有出现web\u课程部分吗 -(NSInteger)numberOfSectionsI

下面是关于表视图的Lynda.com
iOS
教程。我们正在做的演示应该是创建一个包含两个部分的表视图。这两个部分的数据是从控制器(即委托)的
viewDidLoad
方法中的
plist
文件导入的,正如您在下面看到的,我声明应该有两个部分,并给每个部分一个标题

然而,当我在模拟器中运行它时,只有第一部分(标题为“iOS课程”)出现在屏幕上(我无法向下滚动)。
web\u课程
部分不显示。从下面的代码中,您能解释一下为什么没有出现
web\u课程
部分吗

-(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;

    }

}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    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;
}

它看起来像
webCourseDetails.count
numberOfRowsInSection
方法中返回
0
。这就是为什么它没有出现

可能是
webCourseDetails
字典是
nil
。在
numberOfRowsInSection
中设置一个断点以验证这一点。这意味着问题在于:

NSURL *urlWeb = [[NSBundle mainBundle] URLForResource:@"courses_web" 
                                        withExtension:@"plist"];

webCourseDetails = [NSDictionary dictionaryWithContentsOfURL:urlWeb];

字典没有初始化,例如,因为plist文件不在那里。

我按照您的建议设置了一个断点,该函数中的局部变量
webCourseDetails
表示有11个键/值对。在模拟器的底部,它显示了一行的上半部分,视图不允许我向下滚动查看它是什么,所以可能其他部分在那里,但出于某种原因,我无法滚动到它。实际上,在教程提供的代码中也发生了同样的事情(当我在我的机器上运行它时),即使它在视频中工作。