Swift・iOS

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

【Combine】NotificationCenterでのCombineの利用

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

【Combine】Combineの概要

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

【SwiftUI】StoreKitを使ってレビュー依頼をする

はじめに サンプルイメージ 開発環境 実装 SampleApp.swift InitialView.swift ProcessCompletedView.swift UserDefaultsKeys.swift おわりに 参考 はじめに StoreKitを使ってユーザーへアプリのレビュー依頼をする実装について、Appleの公式ドキュメント"Re…

【SwiftUI】外部リンクを開く実装

はじめに 開発環境 本題 おわりに 参考 はじめに 外部リンクを開く実装についてメモ。 開発環境 macOS Big Sur 11.4 Xcode 12.5.1 Swift 5.4.2 本題 "open(_:options:completionHandler:)"を使って外部リンクを開く処理を実装すると以下のようになる。 ※参考…

【SwiftUI】画像URLから取得した画像を表示する

はじめに サンプルイメージ 開発環境 実装 ContentView.swift ImageView.swift ImageLoader.swift ImageCache.swift IndicatorView.swift おわりに 参考 はじめに 以下のリポジトリを参考に、画像URLから取得した画像を表示し、画像をキャッシュする実装を試…

【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 …

【SwiftUI】EnvironmentValuesに独自のEnvironmentValueを追加する

はじめに 開発環境 実装 おわりに 参考 はじめに EnvironmentValuesを拡張して独自のEnvironmentValueを追加する方法について試したので記事に残しておきます。 開発環境 macOS Big Sur 11.3.1 Xcode 12.5 Swift 5.4 実装 【Swift】NSCacheを使って画像をキ…

【Swift】NSCacheを使って画像をキャッシュする

はじめに 開発環境 実装 おわりに 参考 はじめに NSCacheを使ってUIImageをキャッシュする実装について記事に残します。 開発環境 macOS Big Sur 11.3.1 Xcode 12.5 Swift 5.4 実装 キャッシュする際のキーはAnyObject型、値はUIImage型としています。 proto…

【SwiftUI】ScrollViewReaderを使ってScrollViewの特定の行にスクロールする

はじめに 開発環境 サンプルイメージ 実装 おわりに 参考 はじめに ScrollViewReaderを使って、特定の行にスクロールする実装を試したので記事に残します。 開発環境 macOS Big Sur 11.3.1 Xcode 12.5 Swift 5.4 サンプルイメージ 実装 ScrollViewReaderでSc…

【SwiftUI】LazyVGridを使ってUICollectionViewのようなUIを表現する

はじめに 開発環境 本題:LazyVGridでグリッドデザインを表現する 並べ方に関して アイテムを詰めて並べる 1行あたりのアイテム数を指定して並べる 余白の設定に関して 行間の余白を設定 LazyVGridの上下左右の余白を設定 画面遷移に関して おわりに 参考 は…

【SwiftUI】エラー "Extra arguments at positions #11 ... in call" "Extra argument in call"の原因

はじめに 開発環境 本題 エラーが発生するコード なぜエラーが発生する? エラーの解消方法 エラー解消後のコード おわりに 参考 はじめに 表題のエラーに関して調べた内容のメモ。 開発環境 macOS Big Sur 11.2.3 Xcode 12.4 Swift 5.3.2 本題 エラーが発生…

【SwiftUI】WKWebView内のページの読み込み状況をUIProgressViewで表示する

はじめに サンプルイメージ 開発環境 本題 実装方針 実装 WebView.swift ContentView.swift(WebViewの使用例) おわりに 参考 はじめに WKWebViewの読み込み状況をUIProgressViewで表示する実装について試したので、記事に残します。 サンプルイメージ 開発…

M1 Mac mini レビュー 戸惑った点と気になった点

今まで使用していたMacBook Airが頻繁にフリーズするようになったため、M1 Mac miniを購入しました。 他のレビューにもある通りコストパフォーマンスに優れた製品で、快適に開発できるようになったのはかなり満足度が高いです。 (Dockerまわりは注意が必要…

【SwiftUI】Menuを表示する

はじめに 開発環境 サンプルイメージ 実装 おわりに 参考 はじめに iOS 14.0から使えるようになったMenuを試したので記事に残します。 開発環境 macOS Big Sur 11.2.3 Xcode 12.4 Swift 5.3.2 サンプルイメージ 実装 import SwiftUI struct ContentView: Vie…

Anker Soundcore Liberty Air 2 Pro レビュー お値段以上ではあるけど・・・

Anker Soundcore Liberty Air 2 Proを購入したので、レビューを書いてみたいと思います。ネット上に多くのレビューがある商品なのですが、(超)素人目線のレビューが少なかったので記事にします笑 ※アマゾンの商品URL:https://amzn.to/3tfCNfM 前提 良い部…