草庐IT

iOS:对包装 CGPoint 的 NSValue 的 NSArray 进行排序

问题:与标题​​中所说的差不多。我浏览了互联网,但找不到任何易于理解的内容。我有包含许多NSValue的NSArray。这些NSValue每个都有一个CGPoint。我想按x排序,然后按y排序。一些代码:NSValue*valuePointObject=[NSValuevalueWithCGPoint:CGPointMake(x,y)];NSArray*array=[[NSArrayalloc]initWithObjects:valuePointObject,valuePointObject2,...,nil]; 最佳答案 要对值进

ios - 将 NSString 的 NSArray 转换为 NSNumber 的 NSArray 的更好方法

有没有比下面代码更好的方法将NSString的NSArray转换成NSNumber的NSArray:-(NSArray*)convertStringArrayToNumberArray:(NSArray*)strings{NSMutableArray*numbers=[[NSMutableArrayalloc]initWithCapacity:strings.count];for(NSString*stringinstrings){[numbersaddObject:[NSNumbernumberWithInteger:[stringintegerValue]]];}returnnum

objective-c - NSArray 删除类型的最后一个对象?

使用一组UIView和UIImageView([[[UIApplicationsharedApplication]窗口]subview])。我只需要删除UIImageView类型的最高索引的对象。 最佳答案 您可以使用indexOfObjectWithOptions:passingTest:方法使用block反向搜索数组以查找通过测试的对象,然后在结果位置删除该对象:NSUIntegerpos=[myArrayindexOfObjectWithOptions:NSEnumerationReversepassingTest:^(ido

ios - 在 iOS 的 NSArray 中获取匹配对象索引的最佳方法?

我有以下两个数组。NSArray*array1=[[NSArrayalloc]initWithObjects:@"ABC",@"DEF",nil];NSArray*array2=[[NSArrayalloc]initWithObjects:@"ABC",@"123",@"DEF",@"DEF",nil];现在我必须搜索array1和array2中的每个对象,并需要获取匹配的索引。我的应用程序在array2中包含一千多个对象。除了将第二个for循环放在第一个for循环之外,请提出最好的方法for(inti=0;i%@ 最佳答案 根据N

objective-c - 将 NSArray 写入文件

我正在尝试将数组保存/写入文档目录,但我完全卡住了。我已经在网上通过多个来源检查了这段代码。我从NSArray切换到NSMutableArray,但没有用。据我所知,文件没有被写入,因为测试返回为空。提前致谢NSArray*results=[parserobjectWithData:data1];NSMutableArray*array2=[[NSMutableArrayalloc]initWithArray:results];//CreateadictionaryfromtheJSONstringNSArray*paths=NSSearchPathForDirectoriesInDo

ios - NSArray 初始化方法

初始化数组有什么区别NSArray*array=[NSArrayarray];和NSArray*array=@[]; 最佳答案 @[]是以下内容的简写:ida=nil;NSArray*array=[NSArrayarrayWithObjects:&acount:0];这实际上只是[NSArrayarray]的简写,出于所有意图和目的。这是在特定版本的编译器中添加的功能(并且实际上不需要运行时支持此特定语法)。它一点都不像@""的简写,因为@""产生了一个编译时间常数并且会导致在运行时没有消息传递。事实上,@""(任何@"sequen

ios - NSArray firstObject 和 objectAtIndex 的区别 :0

这个问题在这里已经有了答案:WhatisthedifferenceintheusageofthemethodsfirstObjectvsobjectAtIndex:0?(1个回答)关闭6年前。在下面的例子中,数组objectAtIndex:0崩溃了,但是firstObject产生了一个nil值。为什么会这样?NSArray*array=[NSArraynew];idobj1=[arrayfirstObject];//thisisgivingnilvalueidobj2=[arrayobjectAtIndex:0];//thislinecrashes

iphone - 过滤对象的 NSMutableArray 并复制到新的 NSArray

我定义了一个带有一些属性的NSObject,为了让这个问题简单化,假设这个对象叫做Vehicle,它有三个属性:Manufacturer、Model、Year。我从数据库中读取所有车辆,结果是Vehicle对象的NSMutableArray。我正在尝试创建一个新的车辆数组,这些车辆按制造商过滤,其中对象=“福特”。正确的做法是:NSPredicate*fordMotorCarsPredicate=[NSPredicatepredicateWithFormat:@"ANYVehicle.Manufacturer=%@",@"Ford"];fordMotorCarsArray=[listO

ios - 给定 JSON 对象的 NSArray,如何在 NSDictionary 中存储同一个键的多个值?

我知道不可能为同一个键设置多个值,除非这些值存储在数组中。我有一个名为friMainDicArray的JSON对象的NSArray:{day=0;"end_time"="17:30";"english_event"="LionDance";"english_performer"="LegendaryGroup";"image_link"="schedule_miss_vn";stage=0;"start_time"="17:00";"viet_event"="";"viet_performer"="Nh?mLegendary";},{day=0;"end_time"="18:00";"

ios -[NSArray componentsJoinedByString] 有条件

我想在某些条件下使用-[NSArraycomponentsJoinedByString],例如:将数组的所有元素与“,”连接,除了最后一个我想要“和”的元素。它是python它会是这样的:','.join(array[:-1])+'and'+array[-1]有没有一种方法可以在一行中完成这个技巧,避免所有ifelse的东西? 最佳答案 您可以使用subarrayWithRange:和stringWithFormat:来做同样的事情。您确实需要至少1个if来检查数组中的项目数并确保您没有索引异常。