Iphone 避免在NSMutable数组中复制数据

Iphone 避免在NSMutable数组中复制数据,iphone,ios,xcode,nsarray,Iphone,Ios,Xcode,Nsarray,我有一个应用程序,在该应用程序中,按下viewcontroller(多次)后,数据将收集到NSMutableArray nextController.pathArray = self.pathArray; 如何防止从nextController.pathArray中的pathArray复制数据?创建一个NSMutableSet,并将对象添加到其中。在将项添加到可变数组之前,请先检查是否在集合中存在项,然后再添加它。在任何地方添加数据都应类似于以下示例: if (![set containsOb

我有一个应用程序,在该应用程序中,按下
viewcontroller
(多次)后,数据将收集到
NSMutableArray

nextController.pathArray = self.pathArray;

如何防止从
nextController.pathArray
中的
pathArray
复制数据?

创建一个
NSMutableSet
,并将对象添加到其中。在将项添加到可变数组之前,请先检查是否在集合中存在项,然后再添加它。在任何地方添加数据都应类似于以下示例:

if (![set containsObject:data])
{
   [set addObject:data];
   [self.pathArray addObject:data
}
如果您不关心集合的安排,我建议您使用
NSMutableSet
而不是
NSMutableArray
,并在这样更改视图控制器时将其转换回可变数组:

      nextController.pathArray = self.set.allObjects.mutableCopy;

但是NSMutableSet将编程接口声明给无序的对象集合。我需要在NSMutableArray中对对象进行排序。您可以像这样返回它
nextController.pathArray=self.mutableSet.allObjectsAllObject返回一个有序数组