0Pricing
Swift Academy · Ders

Verileri Okuma ve Yazma

Verileri ve dizeleri diskte kalıcı hâle getirin.

Verileri Okuma ve Yazma, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 2. 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.

Verileri Okuma ve Yazma

Foundation'ın Data türü ham baytları tutar; ayrıca String ve Data dosya URL'lerinden okuma ve bu URL'lere yazma işlemlerini destekler.

Dize Yazma

write(to:atomically:encoding:), bir dizeyi dosya URL'sine kaydeder. Atomik yazma, bozulmayı önlemek için geçici bir dosya kullanır.

import Foundation

let url = URL(fileURLWithPath: "/tmp/hello.txt")
try? "Hello, file!".write(to: url, atomically: true, encoding: .utf8)
print("Wrote string to disk")

Dize Okuma

String(contentsOf:encoding:), dosyayı metin olarak yeniden belleğe yükler.

import Foundation

let url = URL(fileURLWithPath: "/tmp/hello.txt")
if let text = try? String(contentsOf: url, encoding: .utf8) {
    print(text)
}

Data ile Çalışma

Data(contentsOf:), herhangi bir dosyayı ham baytlar olarak okur; görüntüler, arşivler veya ikili biçimler için uygundur.

import Foundation

let url = URL(fileURLWithPath: "/tmp/hello.txt")
if let data = try? Data(contentsOf: url) {
    print("Byte count: \(data.count)")
}

Data Yazma

data.write(to:), baytları bir dosyada kalıcı hâle getirir. Metin veya serileştirilmiş herhangi bir yükü depolamak için bunu kodlamayla birlikte kullanın.

import Foundation

let bytes = Data([0x48, 0x69])
let url = URL(fileURLWithPath: "/tmp/bytes.bin")
try? bytes.write(to: url)
print("Wrote raw data")

Data'dan Dizeye

Bayt kodlamasını bildiğiniz durumlarda String(data:encoding:) ile Data değerini metne dönüştürün.

import Foundation

let data = Data([0x48, 0x69])
if let s = String(data: data, encoding: .utf8) {
    print(s)
}

JSON Kodlama

JSONEncoder kullanarak bir Codable değerini diske yazılmaya hazır Data değerine dönüştürün.

import Foundation

struct Note: Codable { let text: String }
let data = try? JSONEncoder().encode(Note(text: "hi"))
let url = URL(fileURLWithPath: "/tmp/note.json")
try? data?.write(to: url)
print("Saved JSON")

JSON Ayrıştırma

Veriyi yeniden okuyun ve model türünüze dönüştürmek için JSONDecoder ile ayrıştırın.

import Foundation

struct Note: Codable { let text: String }
let url = URL(fileURLWithPath: "/tmp/note.json")
if let data = try? Data(contentsOf: url),
   let note = try? JSONDecoder().decode(Note.self, from: data) {
    print(note.text)
}

Atomik Yazma

atomically: true seçeneği önce geçici bir dosyaya yazar, ardından dosyanın adını değiştirir; böylece okuyucular hiçbir zaman yarım yazılmış bir dosya görmez.

import Foundation

let url = URL(fileURLWithPath: "/tmp/safe.txt")
try? "important".write(to: url, atomically: true, encoding: .utf8)
print("Atomic write done")

Hataları Ele Alma

Dosya işlemleri hata fırlatır. Uygulamanın çökmesi yerine eksik dosyalara veya izin sorunlarına tepki vermek için do/catch kullanın.

import Foundation

let url = URL(fileURLWithPath: "/does/not/exist.txt")
do {
    _ = try String(contentsOf: url, encoding: .utf8)
} catch {
    print("Read failed: \(error.localizedDescription)")
}

Ekleme ve Üzerine Yazma

Temel write(to:) işlemi mevcut içeriğin üzerine yazar. Ekleme yapmak için bir FileHandle açın, yazmadan önce dosyanın sonuna gidin.

import Foundation

let url = URL(fileURLWithPath: "/tmp/log.txt")
if let handle = try? FileHandle(forWritingTo: url) {
    handle.seekToEndOfFile()
    handle.write(Data("line\n".utf8))
    try? handle.close()
}
print("Appended")

Kısa Kontrol

Yazma sırasında atomically: true neyi garanti eder?

Özet

String(contentsOf:) ve write(to:atomically:encoding:) ile metin okudunuz ve yazdınız, ham baytları Data ile ele aldınız, modelleri JSONEncoder/Decoder aracılığıyla kalıcı hâle getirdiniz, atomik yazmaları kullandınız, hataları yakaladınız ve FileHandle ile ekleme yaptınız. Sırada dizinleri yönetmek var.

Sıkça Sorulan Sorular

“Verileri Okuma ve Yazma” dersi ücretsiz mi?

Evet — “Verileri Okuma ve Yazma” 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.

“Verileri Okuma ve Yazma” dersinde ne öğreneceğim?

Verileri ve dizeleri diskte kalıcı hâle getirin. 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 2. dersidir.

“Verileri Okuma ve Yazma” 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