convert NSData Length from bytes to megs

前端 未结 3 2054
抹茶落季
抹茶落季 2021-02-03 19:20

I am trying to NSLog the number of megs my NSData object is however currently all I can get is bytes by using

NSLog(@\"%u\", myData.le         


        
3条回答
  •  执笔经年
    2021-02-03 19:40

    There are 1024 bytes in a kilobyte and 1024 kilobytes in a megabyte, so...

    NSLog(@"File size is : %.2f MB",(float)myData.length/1024.0f/1024.0f);
    

    Mind you, this is a simplistic approach that couldn't really properly accommodate for byte sizes below 1,048,576 bytes or above 1,073,741,823 bytes. For a more complete solution that can handle varying file sizes, see: ObjC/Cocoa class for converting size to human-readable string?

    Or for OS X 10.8+ and iOS 6+

    NSLog(@"%@", [[NSByteCountFormatter new] stringFromByteCount:data.length]);
    

    In Swift:

    print(ByteCountFormatter().string(fromByteCount: Int64(data.count)))
    

提交回复
热议问题