CFNumberFormatterCreateStringWithNumber
で問題が発生しています。CFNumberFormatterCreateStringWithNumber int issue
// Works fine with float:
float n = 1.20;
CFNumberRef value = CFNumberCreate(NULL, kCFNumberFloatType, &n);
CFLocaleRef currentLocale = CFLocaleCopyCurrent();
// Create different number formatters
CFNumberFormatterRef decimalFormatter = CFNumberFormatterCreate(NULL, currentLocale, kCFNumberFormatterDecimalStyle);
CFStringRef decimalString = CFNumberFormatterCreateStringWithNumber(NULL, decimalFormatter, value);
// Using an INT I see an issue
int n = 892385;
CFNumberRef value = CFNumberCreate(NULL, kCFNumberSInt32Type, &n);
CFLocaleRef currentLocale = CFLocaleCopyCurrent();
// Create different number formatters
CFNumberFormatterRef decimalFormatter = CFNumberFormatterCreate(NULL, currentLocale, kCFNumberFormatterDecimalStyle);
CFStringRef decimalString = CFNumberFormatterCreateStringWithNumber(NULL, decimalFormatter, value);
/// release, release, release
(代わりにフロートの)INT値を使用しているとき、私は見誤りがある:そこまで
<CFNumber 0x5ac27 [0x7fff9856ed80]>{value = +1452, type = kCFNumberSInt32Type}
2017-03-05 21:42:06.789577 HID_Dumper[4390:150864] -[__NSCFNumber _getCString:length:multiplier:]: unrecognized selector sent to instance 0x2e4027