Swift・iOS

Swiftを中心に学んだことを記録に残すブログです。技術に関係ない記事もたまに書いています。

Combine

【Combine】APIとの通信処理にCombineを取り入れる(dataTaskPublisher)

はじめに サンプルの概要 仕様に関して 開発環境に関して APIクライアントの実装に関して 実装方針に関して 全体の実装 APIクライアント Session.swift User.swift Request.swift SearchUsersRequest.swift ItemsResponse.swift その他 SearchUserView.swift…

【Combine】Subjectsの概要

はじめに 開発環境 本題 Subjectsとは "send(_:)"メソッドの挙動を確認する ContentView.swift ContentViewModel.swift おわりに 参考 はじめに Subjectsに関して調べたことや作ったサンプルを記載します。 開発環境 macOS Big Sur 11.5.2 Xcode 12.5.1 Swif…

【Combine】Futureの使い所

はじめに 開発環境 本題 Futureの使い所 具体例 具体例で使用したサンプルの全体の実装 ContentView.swift ContentViewModel.swift おわりに 参考 はじめに Appleのドキュメント(https://developer.apple.com/documentation/combine/future)に、Futureとは…

【Combine】Timerの処理をCombineを使って置き換える

はじめに 開発環境 サンプルイメージ 本題 Combineを使わない場合 ContentView.swift ContentViewModel.swift Combineを使う場合 ContentViewModel.swift おわりに 参考 はじめに Appleのドキュメント"Replacing Foundation Timers with Timer Publishers"(…

【Combine】Justの特徴と使い所

はじめに 開発環境 本題 Justの特徴 Justの使い所 おわりに 参考 はじめに Justの具体的な挙動や使い所について、Appleのドキュメントを読み返したり、サンプルで動きを確かめてみました。 開発環境 macOS Big Sur 11.5.1 Xcode 12.5.1 Swift 5.4.2 本題 Jus…

【Combine】"AnyCancellable"と"Set<AnyCancellable>"の使い分け

はじめに 開発環境 本題 おわりに 参考 はじめに 表題のテーマについて疑問に思ったので調べてみました。 ※「あくまで現状の理解では」という前置きがついた内容ですのでご注意ください・・・。 開発環境 macOS Big Sur 11.5.1 Xcode 12.5.1 Swift 5.4.2 本題…

【Combine】Operatorsを使ってPublishersを制御する

はじめに 開発環境 サンプルコード ContentView.swift ContentViewModel.swift SampleApp.swift(ライフサイクルが"SwiftUI App"の場合) おわりに 参考 はじめに 【Combine】Operatorsを使ってPublishersが出力する値を変換する - Swift・iOS の続きです。A…

【Combine】Operatorsを使ってPublishersが出力する値を変換する

はじめに 開発環境 本題 おわりに 参考 はじめに Apple公式ドキュメント(https://developer.apple.com/documentation/combine/receiving-and-handling-events-with-combine)の"Change the Output Type with Operators"にあたる内容です。Operatorsを使って…

【Combine】NotificationCenterでのCombineの利用

はじめに 開発環境 本題 Combineを使わないパターン サンプルコード Combineを使うパターン サンプルコード 補足 おわりに 参考 はじめに NotificationCenterでのCombineの利用に関して、公式ドキュメントはもちろん外部の記事もいくつかあるのですが、全体…

【Combine】Combineの概要

はじめに 本題 Combineとは Combineを構成する3つのコンポーネント Publishers Operators Subscribers 処理の流れ おわりに 参考 はじめに 以下のチュートリアルの記事を元に、Combineの概要についてまとめてみました。 Combine: Getting Started | raywende…

【Combine】画像URLから画像を読み込む

はじめに 開発環境 実装 おわりに 参考 はじめに Combineを使って画像URLから画像を読み込む実装を試したので記事に残します。 開発環境 macOS Big Sur 11.3.1 Xcode 12.5 Swift 5.4 実装 @Published var image: UIImage? private let url: URL private var …