Apple изменила , как они вычисляют КБ, МБ и ГБ в Max OS X 10,6 . Вместо 1024 они используют 1000.
Мой вопрос: как с этим справиться в моем коде? Я пытаюсь получить количество свободного места, поэтому я получаю количество байтов через NSFileManager
. Когда я показываю это пользователю, мне нужно по-разному превращать его в ГБ в зависимости от того, установлены они на 10,5 или 10,6.
Есть ли встроенная константа для размера ГБ? (Или как бы вы ни назвали номер 1024?) Было немного глупо определять мой собственный.
## I'm currently doing something like this.
if (running10_6) {
double gbConst = 1000 * 1000 * 1000;
} else {
double gbConst = 1024 * 1024 * 1024;
}
NSDictionary *attr = [NSFM attributesOfFileSystemForPath:@"/" error:&error];
double bytes = [[attr objectForKey:NSFileSystemFreeSize] doubleValue];
double freeGB = bytes / gbConst;