我遇到了一个奇怪的问题,这让我很头疼。我正在使用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]);
}
我有一个类型 - 我错过的地方吗?您可以看到我将7个对象传递给数组初始值设定项,但NSLog方法显示[newRow count] = 3.
答案 0 :(得分:2)
如果传入的任何对象是nil
,则会忽略参数的其余部分。
在这种情况下,picFile
似乎是nil
。