Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.
0 oy
530 kez görüntülendi
ios development kategorisinde tarafından

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
tarafından

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.

tarafından

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

tarafından
 // 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"
        }
...