Swift 3 への移行時に気付いたこと

この記事では既存の iOS アプリを Swift 3 に移行した時に気付いた幾つかの知見について紹介します. 自分自身がまだ iOS 10・Swift 3 について理解が不十分な部分もありますが, 少しでも参考になれば幸いです.

“Swift 3 への移行時に気付いたこと”の続きを読む

GCD のディスパッチセマフォを活用する (Objective-C〜Swift 3 対応)

Grand Central Dispatch (GCD) は Mac OS X 10.6+ や iOS 4+ で利用出来る技術で, タスクを簡単に非同期で実行させることが出来る技術の一つです.

この記事では GCD の機能の一つであるディスパッチセマフォを活用する方法を紹介します. 例として有限リソースへのアクセス制限と, タスクの実行待ちを取り上げます.

この説明では Swift 3 を利用しています. Swift 3 から API の命名規則が大きく変わっていますが, 同じ機能は Swift 3 未満や Objective-C でも利用できます. Objective-C や Swift 1/2 での記法はこの記事の末尾を参照してください.
“GCD のディスパッチセマフォを活用する (Objective-C〜Swift 3 対応)”の続きを読む

Swift でジェネレータを作ったり、遅延評価してみる

Swift 1.2 を使ってジェネレータを作成したり, ジェネレータを使って遅延評価をしてみます. 同様のことをこれまでいくつかの言語で行っていますが, それについては以下を参照してください.

“Swift でジェネレータを作ったり、遅延評価してみる”の続きを読む

MKMapSnapshotter を使った地図画像の生成

iOS 7 以降と OS X 10.9 以降では MKMapSnapshotter を利用して, 地図の画像 (UIImage) を非同期で生成することができます. これを利用すると MKMapView と同じ見た目の地図の画像をアプリケーション内で簡単に生成することができ, ユーザーによる操作を受けつける必要がない MKMapView を UIImageView などで置換して負荷を減らしたり, 地図画像をファイルに保存したりすることができます.

“MKMapSnapshotter を使った地図画像の生成”の続きを読む