Uygulama Korumalı Alanı Dizinleri
Documents, Caches ve geçici konumları kullanın.
Uygulama Korumalı Alanı Dizinleri, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 4. 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.
Uygulama Korumalı Alanındaki Dizinler
Uygulamalar bir korumalı alanda çalışır: yalnızca kendi kapsayıcılarının içine yazabilirler. Belgeler, önbellekler ve geçici dosyalar için standart klasörler vardır.
Belgeler Dizinini Bulma
FileManager.urls(for:in:), bilinen bir dizinin URL'lerini döndürür. .documentDirectory, yedeklenmesi gereken kullanıcı verilerini barındırır.
import Foundation
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
print("Documents path ends correctly: \(docs.lastPathComponent)")Dosya URL'leri Oluşturma
Kendi dosyalarınız için tam bir yol elde etmek üzere dizin URL'sine bir dosya adı ekleyiniz.
import Foundation
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
let file = docs.appendingPathComponent("profile.json")
print(file.lastPathComponent)Önbellek Dizini
.cachesDirectory, yeniden oluşturabileceğiniz verileri saklar. Sistem, disk alanı azaldığında bu dizini temizleyebilir; bu nedenle geri döndürülemez verileri burada asla saklamayınız.
import Foundation
let fm = FileManager.default
let caches = fm.urls(for: .cachesDirectory, in: .userDomainMask).first!
print("Caches dir name: \(caches.lastPathComponent)")Geçici Dizin
FileManager.default.temporaryDirectory, kendi temizliğinizi yapmanız gereken kısa ömürlü dosyalar için geçici bir çalışma alanı sağlar.
import Foundation
let tmp = FileManager.default.temporaryDirectory
let scratch = tmp.appendingPathComponent("work.tmp")
print("Temp file path ready: \(scratch.lastPathComponent)")Belgeler, Önbellekler ve Geçici Dizin Karşılaştırması
Kullanıcı tarafından oluşturulan veriler (yedeklenir) için Belgeler'i, yeniden üretilebilir veriler için Önbellekler'i ve atılabilir dosyalar için tmp'yi kullanınız.
import Foundation
// Choose the right folder for the data's lifetime.
print("Documents = backed up, Caches = purgeable, tmp = transient")Uygulama Desteği
.applicationSupportDirectory, veritabanları gibi doğrudan kullanıcıya sunulmayan, uygulama tarafından yönetilen verileri barındırır. Bu dizini çoğu zaman ilk açılışta oluşturursunuz.
import Foundation
let fm = FileManager.default
let support = fm.urls(for: .applicationSupportDirectory, in: .userDomainMask).first!
try? fm.createDirectory(at: support, withIntermediateDirectories: true)
print("Ensured Application Support exists")Belgeler'e Kaydetme
Kullanıcı verilerini korumalı alan içinde kalıcı hâle getirmek için dizin URL'sini bir yazma çağrısıyla birleştiriniz.
import Foundation
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
let url = docs.appendingPathComponent("note.txt")
try? "hello".write(to: url, atomically: true, encoding: .utf8)
print("Saved into Documents")Verileri Yeniden Okuma
Korumalı alan dosyalarını herhangi bir dosya URL'siyle aynı şekilde okuyunuz; çünkü yol kapsayıcı içinde tamamen geçerlidir.
import Foundation
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
let url = docs.appendingPathComponent("note.txt")
if let text = try? String(contentsOf: url, encoding: .utf8) {
print(text)
}Yedeklemeden Hariç Tutma
Büyük ve yeniden oluşturulabilir dosyaların iCloud yedeklemelerini gereksiz yere büyütmemesi için kaynak değerlerindeki isExcludedFromBackup ayarını yapınız.
import Foundation
var url = URL(fileURLWithPath: "/tmp/big.cache")
var values = URLResourceValues()
values.isExcludedFromBackup = true
try? url.setResourceValues(values)
print("Marked excluded from backup")Korumalı Alanın Önemi
Korumalı alan yolları her kurulumda ve cihazda farklı olduğundan bunları asla sabit olarak yazmayınız. Dizinleri çalışma zamanında her zaman FileManager ile çözümleyiniz.
import Foundation
// Never hardcode /var/mobile/... — resolve at runtime instead.
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
print("Resolved Documents dynamically: \(!docs.path.isEmpty)")Hızlı Denetim
Yedeklenmesi gereken kullanıcı verileri hangi dizinde tutulmalıdır?
Özet
Uygulamalar dosyaları FileManager.urls(for:in:) aracılığıyla çözümlenen korumalı alan klasörlerinde saklar: yedeklenen kullanıcı verileri için Belgeler, yeniden oluşturulabilir veriler için Önbellekler, geçici dosyalar için tmp ve ayrıca Uygulama Desteği. Yolları çalışma zamanında çözümleyiniz; bunları asla sabit olarak yazmayınız. Böylece Dosya G/Ç kursu tamamlanır.
Sıkça Sorulan Sorular
“Uygulama Korumalı Alanı Dizinleri” dersi ücretsiz mi?
Evet — “Uygulama Korumalı Alanı Dizinleri” 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.
“Uygulama Korumalı Alanı Dizinleri” dersinde ne öğreneceğim?
Documents, Caches ve geçici konumları kullanı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 4. dersidir.
“Uygulama Korumalı Alanı Dizinleri” 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
- URL'ler ve Dosya Yolları
- Verileri Okuma ve Yazma
- Dizinleri Yönetme
- Uygulama Korumalı Alanı Dizinleri