Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

Document, Caches Gibi Alanlara İndirdiğim Verilerin Toplam Harcadığı Bellek Miktarını Bulmak

0 oy
43 kez görüntülendi
20, Şubat, 20 ios development kategorisinde Mehmet can seyhan tarafından soruldu

Merhaba;
Ders çalışma uygulaması yapıyorum. Bundan dolayı kişi offline olarakta çalışabiliyor. Json verilerimi caches'leme yapıyorum , Videolarımıda documents alanına atıyorum. Ben Bu yaptığım caches'lemenin ve documents'e yolladığım videoların ne kadar alan kapladığını nasıl bulacağım?

1 cevap

+1 oy
20, Şubat, 20 burhanaksendir tarafından cevaplandı

Merhaba,
Basitçe şöyle:

Documents altında, dosyalarınızı kaydettiğiniz klasör içinde, for döngüsü ile dosyalarınız içinde döneceksiniz.

Döngü içinde her dosyanın tek tek size değerini toplayıp istediğiniz sonuca ulaşacaksınız.

20, Şubat, 20 Mehmet can seyhan tarafından yorumlandı

Tamam hoacam bunu yapıyorum, for'la ben dönerken hangi özellik ile her dosyanın bellek mitarına bulabilirim? komutu nedir acaba ?

20, Şubat, 20 burhanaksendir tarafından yorumlandı
 // get your directory url
        let documentsDirectoryURL =  FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
        // check if the url is a directory
        if (try? documentsDirectoryURL.resourceValues(forKeys: [.isDirectoryKey]))?.isDirectory == true {
            print("url is a folder url")
            // lets get the folder files
            var folderSize = 0
            (try? FileManager.default.contentsOfDirectory(at: documentsDirectoryURL, includingPropertiesForKeys: nil))?.lazy.forEach {
                folderSize += (try? $0.resourceValues(forKeys: [.totalFileAllocatedSizeKey]))?.totalFileAllocatedSize ?? 0
            }
            // format it using NSByteCountFormatter to display it properly
            let  byteCountFormatter =  ByteCountFormatter()
            byteCountFormatter.allowedUnits = .useBytes
            byteCountFormatter.countStyle = .file
            let folderSizeToDisplay = byteCountFormatter.string(for: folderSize) ?? ""
            print(folderSizeToDisplay)  // "X,XXX,XXX bytes"
        }
...