По сути, мой вопрос заключается в следующем: я создаю NSMutableDictionary, используя в качестве ключа объекты uint64_t.
Есть ли лучший способ создать их, чем это делать?
uint64_t bob=7;
NSNumber *bobsNumber;
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
bobsNumber=[NSNumber numberWithUnsignedLong:bob];
#else
bobsNumber=[NSNumber numberWithUnsignedLongLong:bob];
#endif
Это будет работать, пока поскольку вы не включили его в двоичный файл / сокеты / объект NSData / что-то еще. Но есть ли лучший способ сделать это? Я действительно хотел бы быть уверен, что объект является 64-битным, независимо от того, на какой платформе я его запускаю.
Думаю, я мог бы просто избежать всей проблемы, всегда используя unsigned long long, но, конечно, это тратит тонны места в куче на 64-битных машинах, если я размещу эти объекты в значимых числах ....