ポインタのサイズを調べればOK
if (sizeof(int *) == 4) {
// 32bit
} else if (sizeof(int *) == 8) {
// 64bit
}
// others
下のようなカテゴリを作成すれば、NSOperationQueue
のmaxConcurrentOperationCount
や、NSManagedObjectContext
の保存バッチサイズを決定するための基準に使えそうです。
// UIDevice+Hardware.h
typedef NS_ENUM(NSUInteger, DeviceArchitecture) {
DeviceArchitectureUnknown,
DeviceArchitecture32Bit,
DeviceArchitecture64Bit,
};
@interface UIDevice (Hardware)
- (DeviceArchitecture)cpuArchitecture;
@end
// UIDevice+Hardware.m
#import "UIDevice+Hardware.h"
@implementation UIDevice (Hardware)
- (DeviceArchitecture)cpuArchitecture {
if (sizeof(int *) == 4) {
return DeviceArhictecture32Bit;
} else if (sizeof(int *) == 8) {
return DeviceArchitecture64Bit;
}
return DeviceArchitectureUnknown;
}
@end