我是Objective C的新手,我试图在我的tableView中指定numberOfSectionsInTableView
这里是我的代码。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [_dateSectionTitles count];
}
[_dateSectionTitles count]
始终返回零。
这就是我得到_dateSectionTitles
- (void) dictionaryItems {
NSMutableDictionary* dates = [NSMutableDictionary dictionary];
_dateSectionTitles = [[NSMutableArray alloc] init];
for (myObject *cItem in _cashArray) {
NSString* dateString = [cItem.date stringFormattedWithDayAndFullMonth];
array = [dates valueForKey: dateString];
if(!array)
{
array = [@[cItem] mutableCopy];
[dates setObject:array forKey: dateString];
[_dateSectionTitles addObject:dateString];
}
else
{
[array addObject: cItem];
}
}
}
答案 0 :(得分:1)
从快速浏览看,array
似乎永远不会被宣布。这意味着您的条件的else语句始终执行,并且没有任何内容添加到dateSectionTitles
。
NSMutableArray *array = [dates valueForKey: dateString];
答案 1 :(得分:0)
根据您的代码,您永远不会实例化array
变量。你需要在某个地方拥有这个:
NSMutableArray *array = [[NSMutableArray alloc] init];