かなりの頭痛の種となる奇妙な問題に遭遇しました。initWithObjects を使用して NSArray オブジェクトを初期化しています。私は 7 つのオブジェクトを渡していますが、その直後に、配列のカウントをログに記録すると、カウントは 3 しかありません。他の誰かがこれを見たことがありますか? 私はこの方法を何度も問題なく使用してきましたが、何が間違っているのかわかりません。コードは以下のとおりです。
-(DMORecipe *) saveRecipe:(NSNumber *)recipeID recipeTitle:(NSString *)title recipeDescription:(NSString *)description pictureFile:(NSString *)picFile preparationTime:(NSString *)prepTime cookingTime:(NSString *)cookTime ovenTemperature:(NSString *)ovenTemp {
NSArray *newRow = [[NSArray alloc] initWithObjects:recipeID,title, description, picFile, prepTime, cookTime, ovenTemp, nil];
NSLog(@"Before update, the number of args is %i", [newRow count]);
}
どこかに行方不明のタイプoがありますか? 7 つのオブジェクトを配列初期化子に渡していることがわかりますが、NSLog メソッドは [newRow count] = 3 を示しています。