如何将多个 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