Swift 4

RxSwiftを使ってUIKitのRXデータバインディングを実装する

概要 今回はRxSwiftを使ってUIKitのデータバインディングの実装を見ていきます。 RxSwiftはUIKitの数だけメソッドがあります。 こちらのページがRxで実装できるクラスの一覧です。 github.com めちゃくちゃ多いですね。大体のUIKitをRxで書ける事がわかりま…

Swiftのデリゲートメソッドでデフォルト引数ぽく書く方法

概要 コードレビューの時にデリゲートメソッドの部分で指摘を受けて修正しようと思ったのですが、 なかなかすぐに思いつかなかったので記事として残してみることにしました。 自分への備忘録です。 記事にまとめてみると復習の意味でも結構いい勉強になりま…

RxDataSourceを使ってTableViewのHeaderとFooterを生成してみる

概要 前回はRxDataSourceを使って基本的なUITableViewのテンプレートを作ってみました。 RxDataSource github.com 今回はこのRxDataSourceについて弄ってみてどんな事ができるのかについてより詳しくみていこうと思います。 基本的なstoryboardの配置やソー…

RxDataSourceを使ってUITableViewのデータバインディングを実装するテンプレートを作ってみた

概要 今回はRxSwiftの機能をまとめたUITableView用のデータバインディングライブラリRxDataSourceを使ってUITableViewを実装していく方法を解説します。 github.com RxDataSourceの概要を説明すると Writing table and collection view data sources is tedi…

RxSwiftでUITableViewのセルをタップした時にバインディングされているitemのmodelの情報を取得する

概要 今回はRxSwiftを使ってUITableViewで表示されたセルのitemをタップした時にitemのmodelの情報を取得する方法について解説します。 前回の blog.tamappe.com と似てるようで実は違ったりします。 この方法によりリスト表示のセルをタップして画面遷移さ…

RxSwiftでUITableViewのセルをタップした時の挙動をハックする

概要 今回はRxSwiftを使ってUITableViewで表示されたセルのitemをタップした時の挙動をハンドリングする実装について解説します。 UITableViewDelegateの部分の実装となります。 関数としては Sample.swift func tableView(_ tableView: UITableView, didSel…

UITableViewのRxSwiftデータバインディング、カスタムなnibファイルで連携させる

概要 さて、UITableViewのRxSwiftバインディングも第3回目となりました。 前回はまだnibファイルを使用したカスタムセルの連携実装はしていませんでしたので今回はその連携実装の解説をしていきます。 blog.tamappe.com blog.tamappe.com ここまで行くとより…

UITableViewのRxSwiftデータバインディング、CustomCellを使ったバインディング

概要 前回はUITableViewの基本形を紹介しました。 blog.tamappe.com 他の日本語での記事が検索に引っかかりにくいこともあります。 今回はより実務レベルにシフトしてCustomCellクラスを使ったデータバインディングのやり方について解説します。 開発環境に…

RxSwiftを使ってUITableViewにデータを反映させる、UITableViewの基本形

概要 お馴染みのRxSwiftシリーズです。 今回はUITableViewに関するデータバインディングについて紹介します。 UITableViewが一通り理解できるようになったらUICollectionViewも同じように扱えます。 さらにUITableViewは色々なアプリで採用されているiOSの重…

RxSwiftを使って複数のUITextFieldの状態変化にバリデーションを実装する

概要 今回はRxSwiftを使って3つのラベルのの文字に制限を加えてその制限を満たしたらUIButtonをタップできるようにする実装を行います。 俗にいうバリデーション機能です。 使えそうなところは、 メッセンジャーのメッセージの送信時のチェック ログイン時の…

UITextFieldとRxSwiftを使ってバリデーションを実装する

概要 UITextFieldとUILabelをRxSwiftでバインディングする方法 blog.tamappe.com ではUITextFieldとUILabelを接続してUITextFieldで入力中の値をリアルタイムでUILabelに更新していく方法が分かりました。 とは行ってもRxSwiftを使わない方法でもUITextField…

UITextFieldとUILabelをRxSwiftでバインディングする方法

概要 タイトルで「バインディング」という言葉を使いました。 しかしRxSwift初心者にとってまたiOS開発者にとって一番勘違いを起こしてしまうのがこの「バインディング」だと思ってます。 バインディングと格好良く行っていますが要するにSwiftのクロージャ…

UITextFieldのRxSwift処理の書き方について

概要 UITextFieldのRxSwiftの書き方について調べてみました。 よくあるUILabelに連携してデータをバインディングする処理はまた別です。 超基本的な書き方について説明していきます。 開発環境について Xcode: 10.1 Swift: 4.2 RxSwift: 4.4.0 RxCocoa: 4.4…

RxSwift, UIButtonでUILabelのラベルの文字を変更してみる

概要 こちらがよくQiitaで投稿されるRxSwiftを用いたUIButtonで「バインディング」するとか言われている技術の説明になります。(違いました) バインディングとか行っているのにやっていることは今までと同じ概念(RxSwiftなしでの実装)になります。 開発環境…

RxSwift事始め。UIButtonのタップ実装

概要 RxSwiftを書いていて慣れてきましたので同僚にわかりやすく説明するためメモとして残してみます。 これをみてRxSwiftに苦手意識を持っているエンジニアの手助けができたらいいなと思いました。 開発環境について Xcode: 10.1 Swift: 4.2 RxSwift: 4.4.…

RxSwiftでUIActivityIndicatorViewのローディングを実装する

RxSwiftでUIActivityIndicatorViewのローディングを実装する方法論について記載しました。

Swift4.2で導入された機能 Dynamic Member LoopupでSwiftのコードをよりCOOLにしよう

概要 Swift4.2で導入されたDynamic Member Lookupの機能について紹介します。 といっても使い方は@dynamicMemberLookupのアノテーションを付与すれば使えるようになりますが、この機能でSwiftのコードがどれだけ可読性が上がるのかを理解できるようになりま…

Swiftでのプロトコル指向のプログラミングを考えてみる

概要 Swiftのプロトコル指向プログラミングのベストプラクティスがわからなかったので、海外で販売されている本を読みながらXcodeのplaygroundで挙動を見ながら勉強していきました。 これはその備忘録です。 Introducing protocol extensions (protocol exte…

おそ松くんで学ぶSwift4.2での「うそ松」判別法

Swift4.2 でのAPIの変更点 Swift4.2 でのAPI変更点である、「New Sequence Methods」 によって、 うそ松の判別法の書き方が下記のように変わります。 (ネタです) let osomatsuBrothers = ["おそ松", "カラ松", "チョロ松", "一松", "ウソ松", "十四松", "ト…

今更ながらMVVMのチュートリアルの翻訳をして理解を深めました

[Swift4]今更ながらMVVMのチュートリアルの翻訳をして理解を深めました# MVVMについてのおさらい 本記事は下記のページの翻訳になります。 Design Patterns by Tutorials: MVVM ちなみに先に言っておきますが、 私はMVVMは面倒臭い派でMVCの方が好きです。 …

SwiftのCodableのチュートリアルについてまとめました [翻訳]

Codableのページの翻訳 勉強がてらでやりました。 今回はSwift4で導入されたCodableについてのチュートリアルがありましたので下記のページを翻訳しました。 QiitaでもCodableがとても人気なので情報のまとめとしてはいいかと思いました。 Encoding, Decodin…

Swift4.2でパワーアップしたことについてをまとめました[日本語訳]

はじめに この記事は勉強がてら下記のページの英語の記事を翻訳したものである。 What’s New in Swift 4.2? Swift4.2で新しくなったものは? グッドニュース: Swift4.2は今Xcode10βで利用できます!このリリースはSwift4.1の大切なものを更新しABIの安定性に…