hachinoBlog

hachinobuのエンジニアライフ

Swift

Swift Embedded Framework内でCやObjective-Cのライブラリを使う方法

背景 運用しているSwiftアプリでObjective-C製のCocoaPodsライブラリをSwift Embedded Frameworkに閉じて使いたかった。 アプリケーション側で使うならお決まりのBridging Headerファイルを追加して、そこに適宜書いていけば良いのだけれど、Swift Embedded …

遷移中にNavigationBarの設定をアニメーションさせて綺麗に見せる

背景 PushやModal遷移の時に呼び出し元ViewControllerと呼び出し先ViewControllerでNavigationBarやボタンの色が違う時に、その遷移の進捗に応じて設定の色などをアニメーションで変えて綺麗に見せたいかった 方法 UIViewControllerTransitionCoordinatorの…

WKWebViewのscrollの高さを動的に読み込む方法

背景 セルにWKWebView引いてコンテンツを読み込ませて、読み込み後のスクロールの高さを取得して、セルの高さにしたかったけど色々つまったので備忘録 解決方法 StackOverFlowに載ってる方法でほぼ問題なし How to determine the content size of a WKWebVie…

今更だけどSwiftの型消去の使い所が少し分かったので備忘録

背景 2016年のtry!Swiftで話題になった型消去 なかなか使い所が分かってなかったんだけど、利用したいシーンに出会ったので備忘録を記す 説明 前提 私は、開発する上で、よくHTTPクライアントのライブラリであるAPIKitを使っています。 APIKitの使い方を簡単…

iOS CleanArchitectureを使ってみた感想

CleanArchitectureを使ったサンプルアプリを作成したので、説明していきたいと思います サンプルアプリ まず、作成したアプリについてです Qiitaのクライアントです 認証 投稿一覧 詳細 ユーザー投稿一覧 詳細 ソースコード https://github.com/hachinobu/Cl…

SwiftのArrayとDictionaryの使い方

背景 基本的な言語仕様はふんわりと学んだので、今後多用するであろうArrayとDictionaryの使い方を調べたのでメモ。 Array サンプルコード // immutableなString型の配列 let names: String[] = ["name5", "name2", "name1", "name3"] //各データを取得 let …