5

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

 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 循环放在外面,它仍然只添加最新的索引路径而不是显示多个索引路径

4

2 回答 2

12

您每次在循环中都在分配初始化数组,不要那样做。

尝试这个:

selectedSympIPArray = [[NSMutableArray alloc]init];

for (int i = 0 ; i<[notificationArray count]; i++)
{
   selectedSymptIndexPath = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];
   [selectedSympIPArray addObject:selectedSymptIndexPath];
}
于 2013-04-30T08:49:08.587 回答
8

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

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

selectedSympIPArray = [NSMutableArray array];
for (int i = 0 ; i<[notificationArray count]; i++)
        {
            selectedSymptIndexPath = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];            
            [selectedSympIPArray addObject:selectedSymptIndexPath];
        }
于 2013-04-30T08:50:29.313 回答