ブックマーク / jarinosuke.hatenablog.com (5)

  • Swift のコードレビューで気をつけていること - jarinosuke blog

    Swift での iOS アプリ開発 徐々にですが、でも確実に色々な場面で Swift のコードを見る機会が増えてきたことを実感します。 iOS の設計思想など大枠の部分では Objective-C での知見は生きてきます。 しかし Swift の言語仕様についても知っておかないと ついつい低きに流れて Objective-C ぽい Swift になってしまいがちです。 Swiftコードレビュー そこで Swift らしく Swift の良さを活かしたコードにするためにコードレビューの話になるわけです。 iOS 開発全般におけるコードレビューについては以下のブログにまとまっているので省きます。 iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary また記事を書くにあたって Swift コードレビューを調べていて良いものがまとまっていた

    Swift のコードレビューで気をつけていること - jarinosuke blog
    yfnt
    yfnt 2015/02/03
    self省略するのは… わかるんだけど。JavaScriptみたいで好きくないw オプショナルは、宣言時に?じゃなくて!をつけてnilを封じ、どうしてもnilになるタイミングがある場合は、タイミング毎?をつけてる。
  • 実践 Auto Layout - jarinosuke blog

    今こそ frame 思考脱却の時 Xcode 4 / iOS 6 から存在していた Auto Layout でしたが、 当時は Interface Builder の Auto Layout 対応も中々ひどく、使うのが辛かった記憶があります。 そんななか僕は順調に layoutSubviews に傾倒していったわけですが、 iPhone 6/iPhone 6 plus がついに登場し、Size Class という新しい概念も投入され 現状では間違いなく2年前とは比べ物にならないレベルで Universal アプリは作りやすくなりました。(ただし iOS 8 専用アプリのみ) ある程度のデザインパターンを懐に用意していた方が時間が省けます。 ここでは Auto Layout を用いたレイアウトに関するユースケース毎に簡潔に書いていますので、 「それ知ってるわ」みたいなのがあったら適宜読み飛ば

    yfnt
    yfnt 2014/10/08
  • iOS 8 で設定アプリ内にあるアプリの設定へ遷移させる - jarinosuke blog

    設定アプリへの遷移 ローカル通知や位置情報の Always と WhenInUse の二種類の認証、 HealthKit など、 iOS 8 では iOS 7 よりも多くのユーザの許可が必要な情報が増えたように思います。 しかし、ユーザに初回のアラートで拒否されてしまうと iOS 7 まででは アプリ自身が設定画面へ遷移させて再度許可してもらう方法はありませんでした。 設定アプリへ非公開のカスタムスキームを用いて遷移させるという手法もありましたが。 iOS 8 での設定画面への遷移方法 iOS 8 ではアプリが何かしらのカスタマイズ設定を保持している場合、 設定アプリ内にアプリ毎の設定ルートビューができました。 そのビューに以下のメソッドを実行する事で遷移する事が出来ます。 [[UIApplication sharedApplication] openURL:[NSURL URLWithS

    iOS 8 で設定アプリ内にあるアプリの設定へ遷移させる - jarinosuke blog
    yfnt
    yfnt 2014/10/06
  • iAd 実装が iOS7 から恐ろしく簡単になってる件 - jarinosuke blog

    iAd on iOS 7 iOS 6 までは iAd を表示しようとすると、ADBannerView をインスタンス化して layout してなど色々と面倒でした。 iOS 7 では iAd.framework に以下のカテゴリが追加されています。 UIViewController (iAdAdditions) これを用いる事で、今までのような煩わしいことをほとんど気にせずに iAd を表示する事が出来る様になります。 ユースケース毎に見ていきましょう。 バナー広告を表示したい 以下のプロパティをセットするだけ。 ///(1)フレームワークをimport @import iAd; ///(2)初期化時などに self.canDisplayBannerAds = YES; これだけでバナーが画面下に表示されます。 Interstitial 広告を表示したい 事前準備として以下を実行すると I

    iAd 実装が iOS7 から恐ろしく簡単になってる件 - jarinosuke blog
    yfnt
    yfnt 2014/03/10
  • モダンなインスタンス変数の扱いとプロパティ宣言 - jarinosuke blog

    導入 最近、最近ふと 詳解 Objective-C 2.0 初版 を手に取る(電子化しているので実際に手に取るのは Kindle ですが)機会がありました。 もちろん最新の3版も持っているのですが、初版と比べて読み進めてみると色んな事を振り返る事ができて楽しいんですね、もう歴史です。 言うまでもなく、Objective-C は僕が関わってきた約5年近くだけでも凄まじい発展を遂げています。 コミュニティも WWDC や Developer Forum を初めとして、最近では CocoaPods など 3rd party のものまで活発になっています。 そのような環境の中でも、たまにそれらの範囲外では数年前の「構造」のままのコードを見る事があったりもします。 「構造」と少々分かり辛く書いているのは、以下のような「コーディング規約」を超えた考え方だと思ったので分けて書いています。 もちろんどちら

    モダンなインスタンス変数の扱いとプロパティ宣言 - jarinosuke blog
    yfnt
    yfnt 2014/01/23
  • 1