一千萬個為什麽

搜索

NSArray乘以每個參數


有沒有辦法將數組中包含的每個NSNumber乘以10? 這是我到目前為止:

NSMutableArray *vertex = [NSMutableArray arrayWithCapacity:3];

[vertex addObject:[NSNumber numberWithFloat:1.0]]; 
[vertex addObject:[NSNumber numberWithFloat:2.0]];
[vertex addObject:[NSNumber numberWithFloat:3.0]];

[vertex makeObjectsPerformSelector:@selector(doSomethingToObject:)];

我不確定使用哪個選擇器來做這個,請幫忙!

最佳答案

不容易,沒有。您將不得不遍歷整個事物並用NSNumber的新實例替換所有NSNumber實例(NSNumber本身是不可變的)。所以,例如:

for( int i = 0; i < [vertex count]; i++ )
  [vertex replaceObjectAtIndex:i withObject:[NSNumber numberWithFloat:[[vertex objectAtIndex:i] floatValue] * 10.0f]];

顯然這很難閱讀。如果您要經常操作它們(例如,對它們應用轉換),您可能最好只使用常規的原始浮點數組。

轉載註明原文: NSArray乘以每個參數

猜你喜歡