ITとiPhoneと俺

【開発日記】もとまかさんチュートリアル第6回をやってるけど… その弐

Posted on: 2010/02/25

昨日のエントリーの続きです。
 
今やってる Utilityアプリがもとまかさんのチュートリアルで
結構差異があるという事で大苦戦している最中でございます。
 
意外に楽しんでる俺はMなのかもしれないw
 
これから調べなきゃ行けない事がありますよ
という事で前回は終わりました。
 
で、その続きです。
 

 
①@protocolってなんなのよ
これはかなり意外でした。
Javaで言う所のInterfaceに近いという事でした。
ここ見るとかなり納得。なーるほどという感じ。
プロトコル
delegate = <>で囲むという勝手な解釈があったのですが、
違うんですねw
プロトコルの意味だったんです。
 
 
FlipsideViewController.h を見てみると。

@protocol FlipsideViewControllerDelegate
– (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
@end

ここっすね。これがプロトコルの宣言の部分。
 
そんでもってMainViewController.h

#import “FlipsideViewController.h”

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> {
}

FlipsideViewController.h をimport してますね。
そしてさっき宣言したプロトコルを使いますよって事で
<FlipsideViewControllerDelegate>を書くわけですね。
 
使いますよってよりも、
<FlipsideViewControllerDelegate>を実装しますよ。
という意味になるわけです。
 
MainViewController.m を見てみると

– (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller {

[self dismissModalViewControllerAnimated:YES];
}

という感じで実装されているというわけです。
これがプロトコルかー。納得。
ちなみに

[self dismissModalViewControllerAnimated:YES];

View Controllerを削除するっていう処理です。
多分ここだけ見てもわけわかめだと思いますがw
Modal View Controllerの使用
 
YESって書いてあるのはアニメーションを行うかどうかです。
 
実はあの「くるっと」っで出してる二枚目のViewControllerを
削除するっていう処理になります。
あれはViewの切り替えではなくって、Viewを上に重ね
アニメーションを加えることで切り替わったように見せてるんです。
戻るときはその逆で、さっき加えたViewを削除してるだけみたい。。。
これはかなり勉強になりました。
 
 
②mainViewController.view.frameってなんなのよ
これねー。飛ばしましたw
ぐぐっても納得できるような情報が見つからなかった
というのもありますが、コメントアウトしても動くんだもん。
 
これはまだいいや。

③UIScreen って何者?
②がわからんのでコレも意味不明なんですけどねw
多分だけど画面用にフレームとかなんかもろもろ提供してくれる
クラスなんでしょ。しらん!
 
これもサンプルを動かすだけだったら必要なかったもんなー。
 
 
という事でとりあえず理解したつもり。長かった。
 
 
めっちゃざっくり流れを書くと。

アプリ起動

DelegateクラスのapplicationDidFinishLaunchingが呼ばれて
MainViewをadd

iボタンを押すとFlipsideViewをMainViewの上に描画
※描画するときに回ったようなアニメーションをする

DONEを押すと、FlipsideViewを削除
※削除するときに回ったようなアニメーションをする

多分こんな感じであってるんじゃないかな。
 
 
よし。またチュートリアルに戻ろう。
楽しかった。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。