ブックマーク / qiita.com/tomohisaota (5)

  • UITableViewやUICollectionViewのセクションをenumで管理 - Qiita

    UITableViewやUICollectionViewのセクションはViewController内にenumとして定義しましょう。 セクション数の取得等に、count, arrayを定義しておくと非常に便利です。 enum Section : Int { case Header case Bill case Payment static let count:Int = { return array.count }() static let array:[Section] = { var sections = [] as [Section] var i = 0 while(true){ if let s = Section(rawValue: i++){ sections.append(s) } else{ break } } return sections }() } Register

    UITableViewやUICollectionViewのセクションをenumで管理 - Qiita
    yfnt
    yfnt 2015/07/02
  • iPhone/iPad/Apple Watch解像度(画面サイズ)早見表 - Qiita

    用語解説 ポイント boundsやframe等で使用される論理的な画面サイズ。通常はこれを意識してプログラムを作成します。 ピクセル 描画が行われる論理的な画面サイズ。ピクセルパーフェクトな描画が必要な場合には、このグリッドに合うように描画を行う必要があります。 デバイス 端末に搭載された液晶の物理的なピクセル数。これが上記ピクセル数と一致しない場合には、ピクセルパーフェクトの描画は非常に難しくなります。 このサイトの解説がわかりやすいです。 https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions 拡大モード iPhone6, 6 Plusでは、画面設定から拡大モードが選択できます。 上記の表にまとめた通り、retinaの倍率はそのままで、ワンサイズ小さいiPhone相当のポイント数になります。 iPho

    iPhone/iPad/Apple Watch解像度(画面サイズ)早見表 - Qiita
    yfnt
    yfnt 2015/04/01
  • Blockを使って変数スコープを作成するカテゴリ - Qiita

    概要 NSObjectのカテゴリとして、「自分自身を引数にもつ」ブロックを呼び出すメソッドを作成しました。そのスコープ内では対象となるオブジェクトに好きな名前をつけられるので、特にUI関係のコードなどを非常に綺麗に書けるようになります。 説明よりも、下記サンプルを見るのが一番手っ取り早いです。 サンプルコード 通常の書き方 self.longNameLabel.text = @"test"; self.longNameLabel.font = [UIFont systemFontOfSize:15]; self.longNameLabel.textAlignment = NSTextAlignmentCenter; self.longNameLabel.numberOfLines = 3;

    Blockを使って変数スコープを作成するカテゴリ - Qiita
    yfnt
    yfnt 2014/03/20
  • アプリ内の画面にURLを与えるといろいろ捗る - Qiita

    segueの不満点 Storyboardのsegueはちょっとした遷移を書くのには便利なのですが、viewの状態遷移が複雑な場合にはあっという間にスパゲッティ状態になります。また、状態遷移にパラメタをつけたい場合、prepareForSegueを用いるのは結構面倒です。 実例 うちの会社で作っている「Poin」というアプリケーションの場合、「User」「Book」「Page」を表示するViewControllerに、様々な経路で状態遷移します。ざっと挙げても下記の通りで、実際にはこの倍近い経路があります。 Top -> Book Top -> User User -> Book User -> User Book -> User Book -> Page Page -> User Page -> Book Notification -> User Notification -> Book

    アプリ内の画面にURLを与えるといろいろ捗る - Qiita
    yfnt
    yfnt 2014/02/26
  • Block引数の安全な呼び出し方 - Qiita

    Objective Cのブロックは非常に強力ですが、nilのブロック呼び出しを行うとEXC_BAD_ACCESSで落ちるという厄介な問題があります。blockにnilを与えること自体が不正に見えるかもしれませんが、Objective Cは言語仕様的にnilを許容するケースが多いので、nilを与えても落ちないように設計するべきだと思います。 チェックの方法にはいくつかのアプローチがあるのでサンプルを書いてみました。詳細はコメントをご覧下さい。 @interface BTKBlockNilCheck : NSObject - (void) runBlockSample1 : (void (^)(NSError *error))block; - (void) runBlockSample2 : (void (^)(NSError *error))block; - (void) runBlockS

    Block引数の安全な呼び出し方 - Qiita
    yfnt
    yfnt 2014/01/28
  • 1