2016-06-01から1ヶ月間の記事一覧
テキストの行間を広げたくて storyboard で UILabel の Text のタイプを Plain から Attributed に変えて font size を 12, line spacing を 5 で設定してあげたところ storyboard ではきちんとフォントサイズと行間が効いていたのですがシミュレーターで確…
Swift2.2, Xcode7 modal で呼び出す画面は、どの ViewController からも呼び出される可能性がある為、ページ遷移用の Utility に定義する様にしています。その時に困るのが、 UIViewController を継承して、かつ、モーダルを閉じる delegate ( protocol )を…
API との通信をテストする時、実際にリクエストを投げてしまうとサーバーへの負荷やテスト時間など、コストが多くかかってしまうので、Alamofire のリクエストを Quick と Mockingjay を使ってスタブする方法を紹介したいと思います。 Quick: RSpec 風に書け…
リクエスト回数は極力減らした方が良いのでは?といった方針から、画像をアップロードする処理と通常のテキスト情報を送信する処理を一つのリクエストで行っていたのですが、実際に実装してみたところ、リクエストが完了するまで画面にローディングを表示し…
SDWebImage を利用していると、読み込み中に表示する placeholderImage や、取得が失敗したことを表す画像のセットを毎回書くことになるので、アプリ内で共通で利用できる placeholderImage と失敗時の画像を用意して SDWebImage を呼び出すメソッドを定義し…
円形の UIImageView や UIButton を利用したくなるケースは多いと思うので、カスタムクラスを利用した方法を紹介したいと思います。この方法では storyboard 上で円形にはならないので注意してください。 UIImageView UIImageView を継承した CircleImageVie…
Swift2.2, Xcode, Realm1.0.0 Alamofire と ObjectMapper を利用して API 通信を行っている場合、リクエストが成功した際のレスポンスをそのまま Realm に突っ込んで保存したいケースがあったりします。前回作成した API クライアント(Swift2 Alamofire + O…
Alamofire を利用して有効期限付きの token を利用した API call の実装例を紹介したいと思います。 token を http ヘッダーリクエストに含めるのは簡単ですが、トークン の有効期限が切れた際に、リクエストを保持して、リフレッシュトークン を利用してト…
Swift2.2, Xcode7 最近は SNS ログインが増えてきたので Facebook, Twitter, Line の各 SNS のログイン処理をプロトコルを使って共通化して書く方法をご紹介します。 Swift でのポリモーフィズムのような実装を Protocol で行う 各 SNS の認証処理を行う Mod…
Swift2.2, Xcode7 カメラ( Camera )や写真(フォトライブラリー)のアクセス許可の設定状況の確認は、複数の ViewController で行いたいケースが多いので、プロトコルで確認するメソッドを定義して、プロトコルを採用した ViewController であれば簡単にア…
会員登録画面などで nickName を入力したら、登録ボタンを押せるようにして、空だったらボタンを押せなくするような対応です。 isValidated (バリデーション OK )を管理する変数を用意し didSet で saveButton を活性化させたり、非活性にしたりする 前後…
swift2.2, Xcode7 API 通信するアプリを開発していると、ネットワークエラーを検知して、アラートを出すといった処理は共通して書きたいものです。 Apple がサンプルとして公開している Reachability を Swift に変換して使うのもアリですが、ネットワーク通…