Swift

Swift

Drag開始時のCollectionViewCellの選択範囲がズレる問題

UICollectionViewDragDelegateを使って、CollectionViewCellの上の画像をDragしたときに、画像の選択範囲がズレるという問題に直面しました。 解決に時間を要したので、同じ過ちを侵さないように記録に残しておきます。

Read
Swift

Swift5.1時代のChildViewのおさらい

昔からある技術で、特に目新しいものではありませんが、Swift5.1でのChildViewControllerがどうなっているのか調べたので、まとめていきます。

Read
Swift

プロジェクトファイルをFrameworkに分離する手順

OSSのソースを読んでいた時に、ソースをフレームワークとして切り出していたので、実際にどのようにフレームワーク化したらよいのか調べてみました。

Read
Swift

関数をプロパティの登録するテクニックを使ってReduxを実装してみる

ファンクショナルプログラミングを勉強をしていると、頻繁にClassやStructのプロパティに関数を登録するコードを見かけます。今回はこのテクニックを使ってReduxを作っていきます。

Read
Swift

Git リポジトリ検索APIをステップ・バイ・ステップでリファクタリング

汎用的でないコードを、汎用化 & テストブルなコードにリファクタリングする過程を解説していきます。

Read
Swift

Phantom Typeを使って状態変化を安全に実装

システムを作る上で、状態変化を不具合なく実装することが求められます。今回は、Phantom Typeを使い型の恩恵を受け、より安全に状態変化を実装する方法について記事にしたいと思います。

Read
Swift

SwiftのEnumの知られざる便利な使い方

SwiftのEnumは非常に強力で活用させてもらっているのですが、Enumを使ってProtocolを合成 namespaceとして利用する など新たな使い方を学んだので記事にまとめます。

Read
Swift

Decorator Patternを使ってメインスレッド変換処理をスマートに解決

iOS開発でDecoratorパターンを使ったリファクタリング方法を学んだので記録として残しておきます。 Javaでは個々に、Decorator用の拡張クラスを用意しないといけないのですが、SwiftではProtocol + Retroactive Modeling を使いスマートに拡張できます。

Read
Swift

既存コードを簡単にCurry化する方法

Curry化について学習している中で、既存の関数をWrapするだけでCurry化する方法を学んだので記録として残しておきます。すでに作られた関数をそのまま残して、Curry化した関数を作り出すことも可能です。しかも、curry(greet(name:message:))のようにcurryで囲むだけでOK!

Read
Swift

Swiftで高階関数(Higher Order Function)を活用してコードをスッキリ&カッコ良いコードを書く

Swiftでコードを書いているが、高階関数を活用できていないと思い、勉強し直したので、自身の頭の整理のために記事を書きます。

Read