android開発者がiPhoneアプリを開発するまでのメモ2

前回

Master-Detail Applicationを理解

delegate

  • 継承と思ってよさ気
  • hogehoge.delegate = self;で自分を指定してその中で必要な関数を記載してやるのが一般的っぽい

pragma mark – hogehoge

  • コメントみたいなもん
  • ここから何を書くかってのをコード上に表記するやつ

UISplitViewController

ViewControllerのイベント

awakeFromNib
xibとかstoryboardから起動された際に呼ばれる。onCreateみたいなイベント。
viewDidLoad
viewの読み込みが終わった時に呼ばれる。onResumeみたいなイベント。

Segue

  • NavigationControllerでの画面遷移で使う?
  • 画面遷移時のいろいろをやってるっぽい。

@property

UITableViewController

  • MasterViewControllerが継承してる奴
  • ListViewの拡張版だと思えば良さそう
  • viewDidLoadでLeftボタンとRightボタンを作っている。中身は見れば分かりそう。
  • Editボタン(editButtonItem)をおした時の削除できるようになるのは標準機能
  • commitEditingStyleでDeleteが押された時の挙動を指定している
  • insertもできるみたいだけどeditingStyleForRowAtIndexPathを指定しないといけない
  • defaultではdeleteのみ
  • 参考:iPhoneアプリ開発: 同じ UITableViewCell 上で Delete ボタンとプラスボタンを表示 | Passions, Skills, Market
numberOfSectionsInTableView
sectionが何個あるか返却する
numberOfRowsInSection
sectionにあるデータ数を返答する
cellForRowAtIndexPath
cellの中身を返答する。getView相当だと思う。今回は追加された時の日付を表示してる。

DetailViewController

  • detailItemで設定したやつを表示しているだけ
  • hで指定したproperty変数(こんな呼び方でいいのか?)はsetterを作ることができる
  • setterを使わなくても直接入れることもできる(今回の場合は設定時に処理が入ってるからだめだけど)
  • property変数はgetterとかでは_、それ以外ではself経由でアクセスするのがいいらしい
  • 参考:Objective-C – self.propertyと_propertyの違いと、使い分け方 – Qiita
        // どっちでもいける
        controller.detailItem = object;
        [controller setDetailItem:object];

まとめ

delegateの簡単な持ってきかたがよくわからない。javaのようにoverrideできる関数の一覧とか実装しなければいけない関数一覧とか簡単に作れてもいいと思うんでなにか方法があるんだろうと思われるがまだわかってない。

リンク