0Pricing
Swift Academy · Ders

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

  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