Swift
概要 iOS13から Combine というフレームワークが追加されました。 RxSwiftやRxJavaなどのRx系のライブラリを使わずとも純正のフレームワークでReactive Programingができるようになるというものです。 Rx系は、そこまで経験がないので、まずは基本的な使い方…
環境 Swift: 5.2.2 Xcode: 11.4.1 プロパティ名を取得する for children in Mirror(reflecting: self).children { print(children) } Mirrorという構造体に参照したいオブジェクトや構造体を渡す 各プロパティは、children から参照できる サンプル class My…
概要 SwiftUIでは、変数を参照型として扱うためのBindingという型があります。 Bindingを扱うためには、@Binding という PropertyWrapperを使うことが多いと思いますが、Binding型 というデータ型と@Bindingの扱いでたまに混乱してしまうことがあります。 そ…
概要 SwiftUIでQRコードを表示する必要があり、調べた内容になります。 UIKitと全く同じだと若干ハマりどころもあるため、備忘録として残しておきます。 環境 Swift: 5.2.2 Xcode: 11.4.1 QRCodeの画像を作成 import CoreImage import UIKit class QRCode { …
概要 SwiftUIを使ってアプリケーションを作成していると、Viewのコードが長くなり、Modifierの処理を共通化したいケースがでてくると思います。 そんな時にViewModifierを独自で定義して共通化するのも選択肢の1つです。 今回は、このような場合に独自でVie…
概要 SwiftUIのViewの書き方には今までのSwiftにはなかった特徴があります。 次のような、クロージャにViewを連続で渡すようなDSL記法です。 今までのSwiftを書いたことがある人は、「なぜこんな書き方ができるんだろう?」と疑問に思われた人もいるかもしれ…
はじめに この記事の内容は、実装方法に依存する話です。 実装によっては必要ない場合もありますのでその前提で読んでいただければと思います。 環境 XCode: 11.4 Swift: 5.2 概要 SwiftUIの画面描画は基本的には階層構造になっています。 struct FirstView:…
概要 前回の記事では、propertyWrapperの基本について書きました。 inon29.hateblo.jp SwiftUIではこのpropertyWrapperの機能を使って様々な機能が提供されています。 今回は、値の更新を検知してViewを再描画させるためのpropertyWrapper @State についてみ…
概要 SwiftUIにおける基本的な画面遷移の方法についてまとめてみました。 SwiftUIはぱっと1画面を試すのは非常にシンプルで便利なのですが、個人的にはまだ画面遷移の方法に慣れない部分もあり、整理してみました。 環境 XCode 11.4 Swift 5.2 ① NavigationL…
概要 アップル独自の認証方法「Sign in with Apple」について、SwiftUIを使って実装してみます。 環境 XCode: Version 11.3.1 Swift: Version 5.1 Sign in with appleのボタンの作成 まず、はじめにボタンコンポーネントの作成から実装します。 Sign in with…