如何将多个NSIndexPath添加到NSMutableArray中

时间:2013-04-30 08:47:02

标签: iphone ios objective-c nsmutablearray nsindexpath

我正在尝试将nsindexpath添加到数组中..我只能添加一个索引路径。如果我尝试将另一个索引路径添加到数组中..调试器只显示最新的索引路径。

 for (int i = 0 ; i<[notificationArray count]; i++)
        {
            selectedSymptIndexPath = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];
            selectedSympIPArray = [[NSMutableArray alloc]init];
            [selectedSympIPArray addObject:selectedSymptIndexPath];
        }

即使我尝试将[selectedSympIPArray addObject:selectedSymptIndexPath];放在for循环之外,它仍然只添加最新的索引路径而不是显示多个索引路径

2 个答案:

答案 0 :(得分:12)

你是每次在循环中分配初始化数组,不要这样做。

试试这个:

selectedSympIPArray = [[NSMutableArray alloc]init];

for (int i = 0 ; i<[notificationArray count]; i++)
{
   selectedSymptIndexPath = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];
   [selectedSympIPArray addObject:selectedSymptIndexPath];
}

答案 1 :(得分:8)

在您的代码中,您每次都在迭代中进行分配。这是完全错误的。找出你的错误。

您可以使用此代码....

selectedSympIPArray = [NSMutableArray array];
for (int i = 0 ; i<[notificationArray count]; i++)
        {
            selectedSymptIndexPath = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];            
            [selectedSympIPArray addObject:selectedSymptIndexPath];
        }