0

我遇到了一个奇怪的问题,这让我很头疼。我正在使用 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]);
}

我在某个地方有没有我想念的 type-o 吗?您可以看到我将 7 个对象传递给数组初始化程序,但 NSLog 方法显示 [newRow count] = 3。

4

1 回答 1

2

如果传入的任何对象是nil,则参数的其余部分将被忽略。

在这种情况下,似乎picFilenil

于 2012-06-02T03:25:25.377 回答