一つのアプローチはNSArray
NSNumber
のインスタンスにNSData
内容を変換するだろうと言って変換することも可能であろう - 」あなたのことに注意してくださいNSArray
はオブジェクトだけを保持できるので、フロートをNSNumber
にラップする必要があります。あなたはこのようにそれを使用することができます
@interface NSData(MyConversion)
- (NSArray<NSNumber *> *)toFloatsArray;
@end
@implementation NSData(MyConversion)
- (NSArray<NSNumber *> *)toFloatsArray {
NSInteger capacity = self.length/sizeof(float);
NSMutableArray<NSNumber *> *parsedNumbers = [[NSMutableArray alloc] initWithCapacity:capacity];
for(NSInteger i=0; i<capacity; i++) {
float aFloat;
[self getBytes:&aFloat range:NSMakeRange(i*sizeof(float), sizeof(float))];
[parsedNumbers addObject:@(aFloat)];
}
return parsedNumbers;
}
@end
、:
NSArray<NSNumber *> *numbers = [depthImageData toFloatsArray];
NSLog(@"%f", numbers[100].floatValue);
// or
NSLog(@"%@", numbers[100]);