Swift
SwiftUI での List と NavigationLink について調べてみました。 List は UIKit では UITableView に該当するコンポーネントです。 NavigationLink は NavigationView と一緒に使うコンポーネントで UIKit でいうことの push 遷移を実装できます。 今回は Li…
今回はVStackに配置されているViewの位置の変更について観ていきます。 Flutterではそもそもプロパティとして用意されていた記憶があります。 tamappe.hatenadiary.com こちらです。 VStack VStack はViewを縦に並べるレイアウトコンポーネントです。 基本は…
今回はSwiftUIでカウンターアプリを作ってみた。 使ったコンポーネントは VStack (縦に並べるもの) Text (カウンター表示用) Button (タップしてカウンターを増減させる) 出来上がった画面は次の通りである。 カウンターアプリ 書いたソースコードはこちらで…
今日からしばらくSwiftUIのコンポーネントについて学習していきます。 【目次】 Textの使い方 プロパティの定義 Textの使い方 今回は Text についてです。 import SwiftUI struct ContentView: View { var body: some View { Text("Hello, world!") .bold() …
WWDC 2020 日程について 今年の WWDC 2020 の日程は日本時刻6/23(火) 2.am - 6/27(土)までです。 日本時刻の6/23(火)深夜2時から WWDC の Keynote が始まったので気合と根性で睡魔と戦いながらリアルタイムで見てました。 Keynote のビデオ https://develope…
【目次】 What's new in PencilKitを見た感想 新しい機能 指の認識が可能かどうか その他感想 What's new in PencilKitを見た感想 日本時刻の6月23日2時からWWDC 2020 が始まった。 WWDC 2020 オープニング動画の感想はまた別の記事で書きますが、今日はオー…
概要 今回はNotificationCenterのRxSwiftについて解説していきます。 github.com このページをみるとNotificationCenterにはnotificationのfunctionがあることがわかります。 ということは NotificationCenter.default.rx.notification("", object: nil) と…
概要 今回はWKWebViewのRxSwiftのローディング処理について見ていきます。 実はRxSwiftにWKWebViewのものがないためかrxのプロパティがありません。 ただし公式がWKWebViewに対するライブラリを提供していますのでこれをインストールして貰えればrxが使える…
概要 今回はRxSwiftを使ってUIKitのデータバインディングの実装を見ていきます。 RxSwiftはUIKitの数だけメソッドがあります。 こちらのページがRxで実装できるクラスの一覧です。 github.com めちゃくちゃ多いですね。大体のUIKitをRxで書ける事がわかりま…
概要 前回はRxDataSourceを使って基本的なUITableViewのテンプレートを作ってみました。 RxDataSource github.com 今回はこのRxDataSourceについて弄ってみてどんな事ができるのかについてより詳しくみていこうと思います。 基本的なstoryboardの配置やソー…
概要 今回はRxSwiftの機能をまとめたUITableView用のデータバインディングライブラリRxDataSourceを使ってUITableViewを実装していく方法を解説します。 github.com RxDataSourceの概要を説明すると Writing table and collection view data sources is tedi…
概要 今回はRxSwiftを使ってUITableViewで表示されたセルのitemをタップした時にitemのmodelの情報を取得する方法について解説します。 前回の tamappe.hatenadiary.com と似てるようで実は違ったりします。 この方法によりリスト表示のセルをタップして画面…
概要 今回はRxSwiftを使ってUITableViewで表示されたセルのitemをタップした時の挙動をハンドリングする実装について解説します。 UITableViewDelegateの部分の実装となります。 関数としては Sample.swift func tableView(_ tableView: UITableView, didSel…
概要 さて、UITableViewのRxSwiftバインディングも第3回目となりました。 前回はまだnibファイルを使用したカスタムセルの連携実装はしていませんでしたので今回はその連携実装の解説をしていきます。 tamappe.hatenadiary.com tamappe.hatenadiary.com ここ…
概要 前回はUITableViewの基本形を紹介しました。 tamappe.hatenadiary.com 他の日本語での記事が検索に引っかかりにくいこともあります。 今回はより実務レベルにシフトしてCustomCellクラスを使ったデータバインディングのやり方について解説します。 開発…
概要 お馴染みのRxSwiftシリーズです。 今回はUITableViewに関するデータバインディングについて紹介します。 UITableViewが一通り理解できるようになったらUICollectionViewも同じように扱えます。 さらにUITableViewは色々なアプリで採用されているiOSの重…
概要 今回はRxSwiftを使って3つのラベルのの文字に制限を加えてその制限を満たしたらUIButtonをタップできるようにする実装を行います。 俗にいうバリデーション機能です。 使えそうなところは、 メッセンジャーのメッセージの送信時のチェック ログイン時の…
概要 UITextFieldとUILabelをRxSwiftでバインディングする方法 tamappe.hatenadiary.com ではUITextFieldとUILabelを接続してUITextFieldで入力中の値をリアルタイムでUILabelに更新していく方法が分かりました。 とは行ってもRxSwiftを使わない方法でもUITe…
概要 タイトルで「バインディング」という言葉を使いました。 しかしRxSwift初心者にとってまたiOS開発者にとって一番勘違いを起こしてしまうのがこの「バインディング」だと思ってます。 バインディングと格好良く行っていますが要するにSwiftのクロージャ…
概要 UITextFieldのRxSwiftの書き方について調べてみました。 よくあるUILabelに連携してデータをバインディングする処理はまた別です。 超基本的な書き方について説明していきます。 開発環境について Xcode: 10.1 Swift: 4.2 RxSwift: 4.4.0 RxCocoa: 4.4…
概要 こちらがよくQiitaで投稿されるRxSwiftを用いたUIButtonで「バインディング」するとか言われている技術の説明になります。(違いました) バインディングとか行っているのにやっていることは今までと同じ概念(RxSwiftなしでの実装)になります。 開発環境…
概要 RxSwiftを書いていて慣れてきましたので同僚にわかりやすく説明するためメモとして残してみます。 これをみてRxSwiftに苦手意識を持っているエンジニアの手助けができたらいいなと思いました。 開発環境について Xcode: 10.1 Swift: 4.2 RxSwift: 4.4.…
RxSwiftでUIActivityIndicatorViewのローディングを実装する方法論について記載しました。
概要 Swiftのプロトコル指向プログラミングのベストプラクティスがわからなかったので、海外で販売されている本を読みながらXcodeのplaygroundで挙動を見ながら勉強していきました。 これはその備忘録です。 Introducing protocol extensions (protocol exte…