草庐IT

Nsmutablearray

全部标签

ios - 在 Objective-C 中从 NSMutableArray 中删除重复值的最佳方法是什么?

在Objective-C中从NSMutableArray中删除重复值(NSString)的最佳方法?这是最简单和正确的方法吗?uniquearray=[[NSSetsetWithArray:yourarray]allObjects]; 最佳答案 如果您不担心对象的顺序,您的NSSet方法是最好的,但话又说回来,如果您不担心顺序,那么为什么不存储以NSSet开头?我在2009年写了下面的答案;2011年,Apple将NSOrderedSet添加到iOS5和MacOSX10.7。原来的算法现在变成了两行代码:NSOrderedSet*o

objective-c - 如何在 Objective-C 中传递多个参数?

我已经阅读了几篇关于Objective-C方法语法的帖子,但我想我不明白一个方法的多个名称。我正在尝试使用NSString和NSTimeInterval参数以及返回类型为NSMutableArraygetBusStops的方法。这就是我构建该方法的方式,但它显然在运行时会出错:-(NSMutableArray*)getBusStops:(NSString*)busStop(NSTimeInterval*)timeInterval;我看到了另一个方法的例子:-(NSInteger)pickerView:(UIPickerView*)pickerViewnumberOfRowsInComp

objective-c - 如何在 Objective-C 中传递多个参数?

我已经阅读了几篇关于Objective-C方法语法的帖子,但我想我不明白一个方法的多个名称。我正在尝试使用NSString和NSTimeInterval参数以及返回类型为NSMutableArraygetBusStops的方法。这就是我构建该方法的方式,但它显然在运行时会出错:-(NSMutableArray*)getBusStops:(NSString*)busStop(NSTimeInterval*)timeInterval;我看到了另一个方法的例子:-(NSInteger)pickerView:(UIPickerView*)pickerViewnumberOfRowsInComp

objective-c - 洗牌 NSMutableArray 的最佳方法是什么?

如果你有一个NSMutableArray,你如何随机打乱元素?(我对此有自己的答案,发布在下面,但我是Cocoa的新手,我很想知道是否有更好的方法。)更新:正如@Mukesh所指出的,从iOS10+和macOS10.12+开始,有一个-[NSMutableArrayshuffledArray]方法可用于随机播放。见https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objc详情。(但请注意,这会创建一个新数组,而不是在原地打乱元素。)

objective-c - 洗牌 NSMutableArray 的最佳方法是什么?

如果你有一个NSMutableArray,你如何随机打乱元素?(我对此有自己的答案,发布在下面,但我是Cocoa的新手,我很想知道是否有更好的方法。)更新:正如@Mukesh所指出的,从iOS10+和macOS10.12+开始,有一个-[NSMutableArrayshuffledArray]方法可用于随机播放。见https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objc详情。(但请注意,这会创建一个新数组,而不是在原地打乱元素。)

objective-c - 迭代时从 NSMutableArray 中删除的最佳方法?

在Cocoa中,如果我想遍历NSMutableArray并删除多个符合特定条件的对象,那么在每次删除对象时不重新启动循环的最佳方法是什么?谢谢,编辑:只是为了澄清-我正在寻找最好的方法,例如比手动更新我所在的索引更优雅的东西。例如在C++中我可以做到;iteratorit=someList.begin();while(it!=someList.end()){if(shouldRemove(it))it=someList.erase(it);} 最佳答案 为了清楚起见,我喜欢创建一个初始循环,在其中收集要删除的项目。然后我删除它们。这

objective-c - 迭代时从 NSMutableArray 中删除的最佳方法?

在Cocoa中,如果我想遍历NSMutableArray并删除多个符合特定条件的对象,那么在每次删除对象时不重新启动循环的最佳方法是什么?谢谢,编辑:只是为了澄清-我正在寻找最好的方法,例如比手动更新我所在的索引更优雅的东西。例如在C++中我可以做到;iteratorit=someList.begin();while(it!=someList.end()){if(shouldRemove(it))it=someList.erase(it);} 最佳答案 为了清楚起见,我喜欢创建一个初始循环,在其中收集要删除的项目。然后我删除它们。这

objective-c - 如何将 NSMutableArray 转换为 NSArray?

如何在objective-c中将NSMutableArray转换为NSArray? 最佳答案 NSArray*array=[mutableArraycopy];Copy制作不可变的副本。这非常有用,因为Apple可以进行各种优化。例如发送copy到不可变数组只保留对象并返回self。如果您不使用垃圾回收或ARC,请记住-copy保留对象。 关于objective-c-如何将NSMutableArray转换为NSArray?,我们在StackOverflow上找到一个类似的问题:

objective-c - 如何将 NSMutableArray 转换为 NSArray?

如何在objective-c中将NSMutableArray转换为NSArray? 最佳答案 NSArray*array=[mutableArraycopy];Copy制作不可变的副本。这非常有用,因为Apple可以进行各种优化。例如发送copy到不可变数组只保留对象并返回self。如果您不使用垃圾回收或ARC,请记住-copy保留对象。 关于objective-c-如何将NSMutableArray转换为NSArray?,我们在StackOverflow上找到一个类似的问题:

ios:在 uitextfield 中显示数组值?

ios:displaythearrayvalueinuitextfield?在文本字段中显示键值。这就是我获取数据的方式:123456789101112131415161718192021222324252627282930313233343536373839-(void)textFieldDidBeginEditing:(UITextField*)textField{  if(txtviolation.editing==YES)  {    pickerV=[[UIPickerViewalloc]init];    pickerV.dataSource=self;[![enterimaged