我正在尝试将NSString添加到NSMutableArray(它只包含NSStrings)。我没有收到任何错误,但是当我查询数组的count
时,它返回零,表示它没有添加值。这是我的代码(它获得了一些XML,绝对是100%工作):
// get an array of genres for this game
NSArray *genreList = [self getAllItems:@"//genre" fileName:[NSURL URLWithString:queryURL]];
int numberOfGenres = [genreList count];
NSLog(@"This game has %u genres", numberOfGenres);
此NSLog正确报告XML结果中的条目数,通常在1-5之间。
// put the genre names from that array into the current game's object
if (numberOfGenres > 0) {
for (int i = 0; i < numberOfGenres; i++) {
NSString *currentGenreName = [NSString stringWithString:[[genreList objectAtIndex:i] objectForKey:@"name"]];
[currentGame.gameGenres addObject: currentGenreName];
NSLog(@"I added a genre to %@, called %@.", currentGame.gameName, currentGenreName);
}
}
此NSLog还会正确报告游戏的标题以及XML树中的标题。
// save current game to game list
NSLog(@"I'm about to save %@ to the array, with its %u genres", currentGame.gameName, [currentGame.gameGenres count]);
[_listOfGamesReturnedFromSearch addObject:currentGame];
最后一个NSLog始终将类型数报告为零。如果我稍后查询_listOfGamesReturnedFromSearch
数组,它保存了其他属性(名称),但是类型计数为零 - 由于某种原因它没有保存它们。
有什么想法吗?
答案 0 :(得分:2)
这是不分配和初始化数组的典型症状 - 因此它保持nil
并一直忽略发送的所有消息。 Alloc-init它,它会工作。