NSString を NSMutableArray (NSString のみを保持する) に追加しようとしています。エラーは発生していませんが、配列の をクエリすると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
と、他のプロパティ (名前) は正常に保存されましたが、ジャンル数はゼロです。何らかの理由で保存されませんでした。
何か案は?