Swift Academy · Ders

Dizinleri Yönetme

Dizinler oluşturun, listeleyin ve kaldırın.

3. ders / 413 adım

Dizinleri Yönetme, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.

Dizinleri Yönetme

FileManager, dosya ve klasörleri oluşturmak, listelemek, taşımak ve silmek için kullanılan merkezi nesnedir.

Paylaşılan FileManager

Çoğu işlem için FileManager.default kullanın. Bu değer, iş parçacığı açısından güvenli, paylaşılan bir örnek sağlar.

import Foundation

let fm = FileManager.default
print("Got the default file manager")

Dizin Oluşturma

createDirectory(at:withIntermediateDirectories:), isteğe bağlı olarak eksik üst dizinleri de oluşturarak bir klasör meydana getirir.

import Foundation

let fm = FileManager.default
let dir = URL(fileURLWithPath: "/tmp/myapp/cache")
try? fm.createDirectory(at: dir, withIntermediateDirectories: true)
print("Directory created")

Varlığı Denetleme

fileExists(atPath:) bir yolun var olup olmadığını bildirir; bir inout bayrağı bunun bir dizin olup olmadığını belirtir.

import Foundation

let fm = FileManager.default
var isDir: ObjCBool = false
let exists = fm.fileExists(atPath: "/tmp", isDirectory: &isDir)
print("Exists: \(exists), isDir: \(isDir.boolValue)")

İçeriği Listeleme

contentsOfDirectory(at:includingPropertiesForKeys:) bir klasörün içindeki URL'leri döndürür.

import Foundation

let fm = FileManager.default
let dir = URL(fileURLWithPath: "/tmp")
if let items = try? fm.contentsOfDirectory(at: dir, includingPropertiesForKeys: nil) {
    print("Item count: \(items.count)")
}

Yalnızca Adları Listeleme

Yol tabanlı contentsOfDirectory(atPath:), tam URL'lere ihtiyaç duymadığınızda düz dosya adı dizelerini döndürür.

import Foundation

let fm = FileManager.default
if let names = try? fm.contentsOfDirectory(atPath: "/tmp") {
    print("Names count: \(names.count)")
}

Öğeleri Kaldırma

removeItem(at:) bir dosyayı veya dizin ağacının tamamını siler. Dikkatli kullanınız.

import Foundation

let fm = FileManager.default
let url = URL(fileURLWithPath: "/tmp/myapp/cache/old.txt")
try? fm.removeItem(at: url)
print("Removed item if it existed")

Taşıma ve Yeniden Adlandırma

moveItem(at:to:) taşır veya yeniden adlandırır; copyItem(at:to:) ise bir dosyanın kopyasını oluşturur.

import Foundation

let fm = FileManager.default
let src = URL(fileURLWithPath: "/tmp/a.txt")
let dst = URL(fileURLWithPath: "/tmp/b.txt")
try? fm.moveItem(at: src, to: dst)
print("Moved if source existed")

Derinlemesine Gezinme

FileManager.DirectoryEnumerator, bir alt ağacın tamamını özyinelemeli olarak dolaşır ve iç içe geçmiş tüm URL'leri sırayla verir.

import Foundation

let fm = FileManager.default
let root = URL(fileURLWithPath: "/tmp")
if let e = fm.enumerator(at: root, includingPropertiesForKeys: nil) {
    var count = 0
    for case _ as URL in e { count += 1; if count > 5 { break } }
    print("Walked some entries: \(count)")
}

Dosya Öznitelikleri

attributesOfItem(atPath:), boyut ve değiştirilme tarihi gibi üstverileri bir sözlükte döndürür.

import Foundation

let fm = FileManager.default
if let attrs = try? fm.attributesOfItem(atPath: "/tmp"),
   let size = attrs[.size] {
    print("Has size attribute: \(size)")
}

Hataları Ele Alma

Dizin işlemleri, izin veya eksik yol hatalarında hata fırlatır. Uygun şekilde yanıt vermek için bunları do/catch ile sarmalayınız.

import Foundation

let fm = FileManager.default
do {
    try fm.removeItem(at: URL(fileURLWithPath: "/no/such/file"))
} catch {
    print("Remove failed: \(error.localizedDescription)")
}

Hızlı Denetim

createDirectory'nin eksik üst klasörleri de oluşturmasını hangi seçenek sağlar?

Özet

FileManager.default, createDirectory ile klasörler oluşturur, fileExists ile denetler, contentsOfDirectory ile listeler, removeItem ile siler ve öğeleri taşır veya kopyalar. Ayrıca alt ağaçları gezdiniz ve öznitelikleri okudunuz. Sırada: uygulama korumalı alanı dizinleri.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Swift öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
122
Dersler
409

Sıkça Sorulan Sorular

“Dizinleri Yönetme” dersi ücretsiz mi?

Evet — “Dizinleri Yönetme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.

“Dizinleri Yönetme” dersinde ne öğreneceğim?

Dizinler oluşturun, listeleyin ve kaldırın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Dizinleri Yönetme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. URL'ler ve Dosya Yolları
  2. Verileri Okuma ve Yazma
  3. Dizinleri Yönetme
  4. Uygulama Korumalı Alanı Dizinleri
← Swift Academy Sayfasına Dön