如何根据iphone中的某些条件动态创建NSMutableArray

时间:2010-12-23 16:17:44

标签: iphone objective-c cocoa-touch

我有一个日期数组,因此根据日期的某些条件,我需要创建一个NSmutablearray并为该特定数组添加一些值。所以我的tableview中的部分数量取决于这个可变阵列计数(内部取决于日期条件)。

例如:

if(date1)
1.create array1
2.add x,y,z values to the array1.

if(date2)
1.create array2
2.add xx,yy,zz values to the array2.

....

感谢..

2 个答案:

答案 0 :(得分:11)

NSMutableArray *a = [NSMutableArray array];
if (b) {
  [a addObject: ... some object based on "b" being true ...];
  ... etc ...
} else if (c) {
  [a addObject: ... some object based on "c" being true ...];
  ... etc ...
} else {
  [a addObject: ... some object based on neither "c" nor "b" being true ...];
  ... etc ...
}

答案 1 :(得分:-2)

[回应LordT的评论]

“不要”是一个强有力的词,考虑到

NSMutableArray * aMutableArray = [NSMutableArray array]; //编译但在NSMutableArray的父类中调用+数组,因为+数组未在NSMutableArray中声明。如果检查消息表达式返回的对象,则得到的是NSArray。

如果你真的想使用+数组而不是NSMutableArray类方法+ arrayWithCapacity:,或许

NSMutableArray * aMutableArray = [[NSMutableArray array] mutableCopy];

会满足吗?只是不要忘记记忆管理。 8)