ITとiPhoneと俺

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

Posted on: 2010/02/24

金曜日は飲みにいき、土曜日は友達と遊びまくり
すっかり勉強さぼってしまった…
 
しもたー!!
 
ということで日曜の夜からちょぴちょぴやってるんですけど、
この第6回、なかなか難問ですw
 
第6回 Utilityアプリ
 

 

まぁこれみてくださいよ…
 
 

なんだかもとまかさんのチュートリアルと
構成がちがーう!!!
 
あぼーん。
 
 
ぱっとみそこまで違いはなさそうなんですけどね。
 
 
MainWindows.xibの所っすね。
 

RootViewControllerがないんすよ…
 
まぁこんなのね。OS2.x系から3.x系に変わって、
いっぱいクラス作んなくても同じ動作ができるようになった
ということでしょうから。
良い事づくしなハズなんですけどね。。。

重要なのはUIButton、toggleViewメソッドで、これらが上記の

iボタンにアウトレットされています。

はいこまったー。
その大事な所ソースに無いんですよwwwwww
 
RootViewController.h RootViewController.m が無いから
そのまんま参考にはできないのは当然ですね。
 
とりあえずMainView.xib に乗っかってるボタンに
イベントが紐づけられているわけなんですから、
MainView.xib をみてみればMainViewControllerを
つかってる事がわかりますね。
 
そんでもってOutlet見てみると。
 

showInfoっていうイベントで「くるっと」を
実現させているという事がわかりました。
 
 
そんでもってMainViewController.h ファイルを見てみると、、、
 

あれれー!!!
 
じゃんけんの時にやったと思うのですが、
UIButtonにイベント紐づける時に宣言してた
 
IBOutlet UIButton *btn_gu;
@property(nonatomic, retain) UIButton *btn_gu;
 
この二つ書いてないんですね。
イベント貼付けるだけならいらないんだ!!
初めて知ったwww
もしかしたらこれもバージョンなのかな。
 
適当なボタン作って紐づけて、showInfoのイベントを
貼付けても動いたし。。。
 
 
まぁいいや。MainViewController.m見てみひょ。

showInfoの実装部分ですね。
 
気になる点がいくつか。

FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@”FlipsideView” bundle:nil];

これはなんとなく予想できますね。
UIViewのサブクラスだから、こいつを初期化するときは
initWithNibNameとかいうやつつかって、xib名を指定するんでしょう。
 
 

controller.delegate = self;

なんじゃこれw
controllerのセッターにdelegateがあるんだ?
これはFlipsideViewControllerみてみないとわからんすね。
 
 

controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

ここは軽くググった感じだと、
イベントの種類を指定してるっぽかった。
modalTransitionStyleっていうのがイベントのセッターで、
UIModalTransitionStyleFlipHorizontalってのが、「くるっと」なんだと思う。
 
 

[self presentModalViewController:controller animated:YES];

これは多分アニメーションのフラグみたいなものでしょ。
NOにしたら回らなくなったし。
 
 
MainViewの所はなんとなくわかった。
 
 
で、そもそもの所を見忘れてましたので
MainWindow.xibみるとUtiltyAppDelegateが紐づけられてます。
 
まぁこれはお決まりな気がするのでスルー。
UtiltyAppDelegate.h の方も特に新しい事はない。
 

UtiltyAppDelegate.m の方をみてみると、
アプリが起動した時に呼ばれるapplicationDidFinishLaunchingの中で
なんだがごにょごにょしとりますなw

mainViewController.view.frame = [UIScreen mainScreen].applicationFrame;

なんだろうこれ。
「frame」っていうのが出てきた!!これはなんだろう。
とにかくココでMainView.xib が設定されているのはわかったw
 
 
 
で、話を大きく戻して、
controllerのセッターにdelegateがあるんだ?
という疑問を解消するべく、FlipsideViewController.h 見てみます。
 

新しいのがいっぱいでてきてる…
 

@protocol

なんだろうこれ
 

id <FlipsideViewControllerDelegate> delegate;

これはdelegate型(型でよい???)っていうだけですね。
<>で囲むものなんでしょきっと。
 

@property (nonatomic, assign) id delegate;

assignっていうのが新しくでてきましたね。
これは”代入によって値を生成”っていう意味らしいです。
でちなみにnonatomicは”排他的に実行しなくてよい”という意味らしい。
@retainは”オブジェクトを保持”、だからreleseしてあげなきゃいけない。
 
話がそれたwww たぶんここでassign にしてるから
controller.delegate = self;
ってやってたんだろーな。
 
 
といった所まででいったん終了!!
 
これから調べなきゃ行けない事は、
①@protocolってなんなのよ
②mainViewController.view.frameってなんなのよ
③UIScreen って何者?
 
上記3点ですかね。
 
 
ちょっと今回はチュートリアルをやるのではなくて、
Utiltyアプリのテンプレートを理解する、という風に
シフトチェンジします。
 
チュートリアルと内容が違いすぎるのでw
 
という事でまた明日からがんばりますー。

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中

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