2013-04-06 70 views
-1

我有推荐车牌ID数组和另一个allcar ID数组。由此,我必须采用推荐的车载图像。首先,我检查推荐的carid是否在我的全能识别码中;如果是,我选择相应的汽车图像,并将它们存储到NSArray中。如何将NSMutableArray中的值移动到NSArray

这是我正在使用的代码。

for (int i=0;i<[listOfCarId count];i++) { 
    for (int j=0;j<[_allCarID count];j++) { 
     tempAllCarId=[_allCarID objectAtIndex:j]; 
     tempRecommendedCarId=[listOfCarId objectAtIndex:i]; 
     if ([tempRecommendedCarId isEqualToString:tempAllCarId]) { 
      _recommendedCarImage=[_allCarImages objectAtIndex:j]; 
      NSLog(@"finalImage%@",_recommendedCarImage); 
     } 
    } 
} 

_recommendedcarImageNSMUtableArray;我想要一个NSArray。我如何将它转换为NSArray

我该如何用NSArray替换“_recommendedCarImage”?目前_recommendedCarImage是一个可变数组。

+0

从您对Hinta的回应中,这个问题不是关于如何......而是您的代码段的故障排除。将错误消息粘贴到您的问题中并重新修改您的问题。顺便说一句,Hinta's走上了正轨。祝你好运! – user523234 2013-04-06 10:33:42

回答

2

现在的工作,我做什么,我只是复制可变的数组的NSArray的内容

recommendedArray=[_recommendedCarImage copy]; 
4

Polymorphism.由于NSMutableArrayNSArray的子类,因此您可以在预期的任何地方使用NSArray。你不必做任何事情。

+0

它不起作用,显示异常 – Naveen 2013-04-06 08:57:54

+2

@Naveen“它不工作”比没有提供信息,如果这不起作用,那么你没有按照你的要求去做。 – 2013-04-06 08:58:29

+0

***第一掷调用堆栈: (0x1e8c012 0x1963e7e 0x1f174bd 0x1e7bbbc 0x1e7b94e 0x1e69deb 0x14dce 0x14987 0x1466d 0x131e3 0x9891c7 0x989232 0x9894da 0x9a08e5 0x9a09cb 0x9a0c76 0x9a0d71 0x9a189b 0x9a1e93 0x9a1a88 0xcfde63 0xcefb99 0xcefc14 0xda95d9 0xdbb182 0xdbb394 0x1977705 0x9b593c 0x9b59ac 0x1977705 0x9b593c 0x9b59ac 0xb6f1d3 0x1e54afe 0x1e54a3d 0x1e327c2 0x1e31f44 0x1e31e1b 0x3c097e3 0x3c09668 0x8a7ffc 0x268d 0x25b5) libC++ abi.dylib:terminate调用抛出异常 – Naveen 2013-04-06 09:00:41

1

NSMutableArrayNSArray已经(因为它的NSArray一个子类),你仍然可以这样做:

NSArray *array = [NSArray arrayWithArray:mutableArray]; 
+0

终止应用程序由于未捕获的异常'NSInvalidArgumentException',原因:' - [__ NSCFString count]:无法识别的选择器发送到实例 – Naveen 2013-04-06 09:01:12

+0

@Naveen'listOfCarId'或'_allCarID'是'NSString'而不是'NSArray'。 – 2013-04-06 09:04:53

+0

都是NSArray,否则为什么要这样操作 – Naveen 2013-04-06 09:09:04

相关问题