我想分離數組中的元素。我有一個包含超過100000個NSNumber對象的NSArray。我的問題是,它們以3通過循環分組NSArray?
processarray = [[NSMutableArray alloc] init];
for (loopstart = 0; loopstart < arraycount; loopstart ++)
{
arrayvalue = [[mesharray objectAtIndex: loopstart] floatValue];
coordinate = [NSNumber numberWithFloat: arrayvalue];
[processarray addObject: coordinate];
[printgcodetoconsole appendFormat: @"\nCOORDINATE: %@", coordinate];
}
對於實例增量安排,我的數組是這樣的:
- 座標:5567
- 座標:1065
- 座標:1564
- 座標:3432
- 座標:6123
- 座標:9345
- 座標:1856
- 座標:2765
- 座標:1998年
- 座標:9087
- 座標:2234
- 座標:5467
我需要的是一個將正確的值按照X,Y和Z分組在一起的方式,因爲它們是空間上的點:
- 新的Array對象:(X5567,Y1065,Z1564)
等等...
有物體之間沒有相似性,除了它們都是NSNumber的對象在數組中。
在此先感謝!
我目前打印這個數組作爲一個NSTextView字符串,我無法弄清楚如何不搞亂循環使用此代碼字符串隔離:
[printgcodetoconsole appendFormat: @"\nCOORDINATE: %@", coordinate];
,我真的很喜歡的東西更像:
NSNumber * X;
NSNumber * Y;
NSNumber * Z;
[printgcodetoconsole appendFormat: @"\n X%@, Y%@, Z%@", X, Y, Z];
您好Jero!謝謝你的幫助。有沒有辦法通過分離X,Y和Z值來增加?我將這些字符串打印到像上面這樣的NSTextView中... – Julian
'(NSUInteger i = 0; i <[mesharray count]; i + = 3) NSString * coordinate = [NSString stringWithFormat:@「(X %,f%,%f)「,[[mesharray objectAtIndex:i] floatValue],[[mesharray objectAtIndex:(i + 1)] floatValue],[[mesharray objectAtIndex:(i + 2)] floatValue] ]。 [processarray addObject:coordinate]; }' – JeroValli
JeroValli的評論會在它顯示出來的時候顯示出來。如果你想使用他的原始文章,並且如果原始數組中的座標是正確的模式(即x,y,z,x,y,z),那麼每個subArray自然應該是相同的模式:subArray [0 ]是X,subArray [1]是Y等等。你可以簡單地說'[printgcodetoconsole appendFormat:@「\ n X%@,Y%@,Z%@」,subArray [0],subArray [1],subArray [2]];' – Nerrolken