草庐IT

Nsmutablearray

全部标签

objective-c - 避免 "NSArray was mutated while being enumerated"

我有一个NSMutableArray存储用于Box2d物理模拟的鼠标关节。当使用多个手指弹奏时,我会收到异常声明NSArraywasmutatedwhilebeingenumerated我知道这是因为我要从数组中删除对象,同时还要枚举它,从而使枚举无效。我想知道的是,解决这个问题的最佳策略是什么?我在网上看到了一些解决方案:@synchronized,在枚举之前复制数组或将触摸关节放入垃圾数组以供以后删除(我不确定这是否可行,因为我需要将鼠标关节从世界中移除后立即从阵列中移除)。 最佳答案 您始终可以在没有枚举器的情况下进行迭代。这

objective-c - 我可以根据 Objective-C 中的键对 NSDictionary 进行排序吗?

我可以根据键对NSDictionary进行排序吗? 最佳答案 您可以对键进行排序,然后通过迭代它们来创建一个NSMutableArray。NSArray*sortedKeys=[[dictallKeys]sortedArrayUsingSelector:@selector(compare:)];NSMutableArray*sortedValues=[NSMutableArrayarray];for(NSString*keyinsortedKeys)[sortedValuesaddObject:[dictobjectForKey:k

objective-c - 我可以根据 Objective-C 中的键对 NSDictionary 进行排序吗?

我可以根据键对NSDictionary进行排序吗? 最佳答案 您可以对键进行排序,然后通过迭代它们来创建一个NSMutableArray。NSArray*sortedKeys=[[dictallKeys]sortedArrayUsingSelector:@selector(compare:)];NSMutableArray*sortedValues=[NSMutableArrayarray];for(NSString*keyinsortedKeys)[sortedValuesaddObject:[dictobjectForKey:k

iphone - 如何对包含 N 个数字的 NSMutableArray 进行排序?

我正在尝试制作一个高分表,并在objective-c中吸吮数组(实际上,总的来说,objective-c对我来说具有挑战性),所以我不知道如何排序。我正在尝试做这样的事情(伪代码,我用ActionScript风格写这个,因为我更喜欢它):highscores.addObjecttoArray(score)highscores.sort(ascending)但我想不通...我看过其他线程,但他们使用plist文件和东西,我不知道足够的objective-c来向他们学习。 最佳答案 你想走捷径吗?如果你有一个可变的NSNumber实例数

iphone - 如何对包含 N 个数字的 NSMutableArray 进行排序?

我正在尝试制作一个高分表,并在objective-c中吸吮数组(实际上,总的来说,objective-c对我来说具有挑战性),所以我不知道如何排序。我正在尝试做这样的事情(伪代码,我用ActionScript风格写这个,因为我更喜欢它):highscores.addObjecttoArray(score)highscores.sort(ascending)但我想不通...我看过其他线程,但他们使用plist文件和东西,我不知道足够的objective-c来向他们学习。 最佳答案 你想走捷径吗?如果你有一个可变的NSNumber实例数

iphone - [NSMutableArray array] 与 [[NSMutableArray alloc] init] 之间的区别

谁能告诉我声明一个可变数组的区别:NSMutableArray*array=[NSMutableArrayarray];和NSMutableArray*array=[[NSMutableArrayalloc]init];因为一开始我使用alloc声明了所有数组,如果在某个函数结束时返回了使用alloc创建的数组,由于内存泄漏问题,我不得不自动释放该数组。现在使用第一个声明我不需要释放任何东西。谢谢 最佳答案 arrayclass方法本身会产生一个自动释放的数组,这意味着您不必(也不应该)手动释放它。

iphone - [NSMutableArray array] 与 [[NSMutableArray alloc] init] 之间的区别

谁能告诉我声明一个可变数组的区别:NSMutableArray*array=[NSMutableArrayarray];和NSMutableArray*array=[[NSMutableArrayalloc]init];因为一开始我使用alloc声明了所有数组,如果在某个函数结束时返回了使用alloc创建的数组,由于内存泄漏问题,我不得不自动释放该数组。现在使用第一个声明我不需要释放任何东西。谢谢 最佳答案 arrayclass方法本身会产生一个自动释放的数组,这意味着您不必(也不应该)手动释放它。

objective-c - 交换 NSMutableArray 中的元素

是否有任何特殊的方法可以使NSMutableArray中的元素交换更容易或更直接? 最佳答案 exchangeObjectAtIndex:withObjectAtIndex:正是这样做的。 关于objective-c-交换NSMutableArray中的元素,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3836387/

objective-c - 交换 NSMutableArray 中的元素

是否有任何特殊的方法可以使NSMutableArray中的元素交换更容易或更直接? 最佳答案 exchangeObjectAtIndex:withObjectAtIndex:正是这样做的。 关于objective-c-交换NSMutableArray中的元素,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3836387/

iphone - NSMutablearray 将对象从索引移动到索引

我有一个带有可重新排序行的UItableview,并且数据在一个NSarray中。那么,当调用适当的tableview委托(delegate)时,如何在NSMutablearray中移动对象?问这个问题的另一种方法是如何重新排序NSMutableArray? 最佳答案 idobject=[[[self.arrayobjectAtIndex:index]retain]autorelease];[self.arrayremoveObjectAtIndex:index];[self.arrayinsertObject:objectatIn