如何将多个 NSIndexPath 添加到 NSMutableArray

Posted

技术标签:

【中文标题】如何将多个 NSIndexPath 添加到 NSMutableArray【英文标题】:How to add multiple NSIndexPath into NSMutableArray 【发布时间】:2013-04-30 08:47:02 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

试试这个:

selectedSympIPArray = [[NSMutableArray alloc]init];

for (int i = 0 ; i<[notificationArray count]; i++)

   selectedSymptIndexPath = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];
   [selectedSympIPArray addObject:selectedSymptIndexPath];

【讨论】:

但是当我滚动 uitableview 一段时间后它会变慢【参考方案2】:

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

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

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

【讨论】:

以上是关于如何将多个 NSIndexPath 添加到 NSMutableArray的主要内容,如果未能解决你的问题,请参考以下文章

如何将 NSIndexPath 转换为 NSInteger?

在字典中添加 NSIndexPath 作为键和 NSNumber 作为值的问题?

如何将 NSIndexPath 转换为 NSString-iOS

Objective-C:如何将 NSIndexSet 转换为 NSIndexPath

如何在 MFC C++ 中将 CString 值列表添加到 ComboBox 中? [关闭]

如何动态向 UITableView 添加行? [关闭]