0Pricing
Swift Academy · Ders

Combine ve URLSession ile Ağ İletişimi

Ağ yanıtlarını işlemek için URLSession.dataTaskPublisher'ı Combine ile kullanın.

Combine ve URLSession ile Ağ İletişimi, 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.

Hoş geldiniz

URLSession, `dataTaskPublisher` aracılığıyla yerleşik Combine desteğine sahiptir. `decode` ile birlikte kullanıldığında, yalnızca birkaç satırda tür güvenli ağ iletişimi işlem hatları oluşturmanızı sağlar.

dataTaskPublisher

```swift URLSession.shared .dataTaskPublisher(for: URL(string:"https://api.example.com/users")!) .sink(receiveCompletion: { print($0) }, receiveValue: { data, response in print(data.count) }) .store(in: &cancellables) ```

JSON Kodunu Çözme

```swift struct User: Decodable { var name: String; var id: Int } URLSession.shared .dataTaskPublisher(for: url) .map(\.data) .decode(type: [User].self, decoder: JSONDecoder()) .receive(on: DispatchQueue.main) .sink(receiveCompletion: { print($0) }, receiveValue: { users in self.users = users }) .store(in: &cancellables) ```

catch ile Hata İşleme

```swift .catch { error -> AnyPublisher<[User],Never> in print("Error: \(error)") return Just([]).eraseToAnyPublisher() } ```

retry

```swift .retry(3) // retry up to 3 times on failure ```

HTTP Durumunu Doğrulama

```swift .tryMap { data, response -> Data in guard let http = response as? HTTPURLResponse, (200...299).contains(http.statusCode) else { throw URLError(.badServerResponse) } return data } ```

Genel Bir Yayıncı Oluşturma

```swift func fetch(_ url: URL) -> AnyPublisher { URLSession.shared.dataTaskPublisher(for: url) .map(\.data) .decode(type: T.self, decoder: JSONDecoder()) .eraseToAnyPublisher() } ```

İptal Etme

```swift var searchCancellable: AnyCancellable? searchCancellable?.cancel() // cancel previous searchCancellable = fetch(url).sink { ... } ```

Sıralı İstekler için flatMap

```swift fetch(userUrl) .flatMap { user in fetch(user.profileUrl) } .sink { profile in render(profile) } .store(in: &cancellables) ```

Birden Çok İsteği Birleştirme

```swift Publishers.Zip(fetch(url1), fetch(url2)) .sink { a, b in combinedUI(a, b) } .store(in: &cancellables) ```

Hızlı Kontrol

Hangi Combine operatörü, yayıncı çıktısının kodunu bir Decodable türüne çözer?

Özet

Önemli çıkarımlar: • `dataTaskPublisher(for:)` — Combine tabanlı URL alma • JSON için `.map(\.data)` → `.decode(type:decoder:)` • `.tryMap` HTTP durumunu doğrular • Otomatik yeniden denemeler için `.retry(n)` • `.catch { }` bir yedek yayıncı sağlar Kurs tamamlandı! Sıradaki: Swift Yapılandırılmış Eşzamanlılığı.

Sıkça Sorulan Sorular

“Combine ve URLSession ile Ağ İletişimi” dersi ücretsiz mi?

Evet — “Combine ve URLSession ile Ağ İletişimi” 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.

“Combine ve URLSession ile Ağ İletişimi” dersinde ne öğreneceğim?

Ağ yanıtlarını işlemek için URLSession.dataTaskPublisher'ı Combine ile 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.

“Combine ve URLSession ile Ağ İletişimi” 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. Yayıncılar ve Aboneler
  2. İşleçler: map, filter, combineLatest
  3. PassthroughSubject ve CurrentValueSubject
  4. Combine ve URLSession ile Ağ İletişimi
← Swift Academy Sayfasına Dön