読者です 読者をやめる 読者になる 読者になる

てくてくテック

気ままに開発のメモを書いていこうと思います。主にSwiftかと。

Swift3でのclosure

はじめに Swift3にした時にclousureの部分の書き方が変わっていたなーというメモです 変更点 非同期の時は@escapingをつける Swift2まではデフォルトが@escapingの状態で@noescapeにする際に明示的に@noescapeにするという文法だったのに、Swift3から逆転し…

NavigationbarをHiddenじゃなくて透明にする

はじめに NavigationbarをHiddenにして消すのではなく、タイトルやボタンは表示するがNavigationbarはあくまで透明としたい時があります(下図参照)。単純にBar TintをclearColorに変更するとなぜか黒くなります。今回は、下図のようにNavigationbarを透明に…

Alamofire(非同期通信)をsemaphoreで同期的に処理できなかった

はじめに Alamofireでapi通信する際に、同期的に処理したくなったためSemaphoreを使ってやってみたけどうまくいかなかった時のお話です。 Semaphoreとは Semaphoreは排他制御の仕組みのことで、リソースへのアクセス可能な数のことです。Semaphoreが0の状態…

Swift3のGCD(dispatch_async)

はじめに Swift3でのGCD(dispatch_async)の使い方が変わっていたのでメモメモ Grand Central Dispatch(GCD)とは タスクを非同期に実行する技術のひとつとして、Grand CentralDispatch(GCD)というものがありま す。通常はアプリケーション中に記述するスレ…

PageViewControllerでNavigationbar(またはStatusbar)の高さ分ずれる

はじめに PageViewControllerを使っていて、なぜか遷移した直後の画面でNavigationbarかStatusbar分高さがずれるという現象に出会ったので そのことについて記します。 現象 PageViewControllerを利用した画面にUINavigationbarからpushViewControllerした際…

Swift3でPush通知から起動の時の、userinfo取得でちょっと迷った

はじめに Swift2.2からSwift3に移行する際に少し詰まった事をメモします。 アプリがキルされている状態からPush通知で起動した時にuserinfoを取得する際のObjectの型宣言をどうするのか?というお話です。 詰まった内容 そもそも実装したい内容 Push通知から…

Swift3にしたらAnyObjectがAnyになった

はじめに Swift2.2で作っていたプロジェクトをSwift3に対応させるために Xcode8についている自動コンバートを利用してみたところ AnyObject型がAnyに変更されました。 このことについて少し調べたことをまとめます。 どんな風に変わっていたのか? AppDelega…