きのうは水とまつげしか食べてません

3分で読み切れる記事を書いていきます。

「10日でおぼえる iPhoneアプリ開発入門教室」でiPhoneアプリを作る。【二日目】

あらすじ

 

前回に引き続き、10日で覚える二日目です。

前回はこちら。

 

「10日でおぼえる iPhoneアプリ開発入門教室」でiPhoneアプリを作る。【一日目】 - きのうは水とまつげしか食べてません

参考にしている著作はこちら。

10日でおぼえるiPhoneアプリ開発入門教室 (10日でおぼえるシリーズ)

10日でおぼえるiPhoneアプリ開発入門教室 (10日でおぼえるシリーズ)

 

 

10日でおぼえるiPhoneアプリ開発入門教室 第2版

10日でおぼえるiPhoneアプリ開発入門教室 第2版

 

 

一日目では、Xcodeのインストール手順や画面を操作方法など、導入的な要素を紹介して終わっていた。いよいよ今日からが本番ともいえる。

 

脅威のObjective-C 

http://www.flickr.com/photos/17321089@N04/4688811226

photo by Ribbit Voice

 

【二日目】

 二日目の内容はこちら

チャプター2 Objective−Cの基本を理解しよう

  1. C言語を理解する
  2. Objective−Cクラスを定義する
  3. プロパティにアクセスする
  4. ファンデーションフレームワークのクラスを使う

 

もうこの目次を見ただけも寒気立つようなカタカナの多さ。

そしてページを開くと広がる英語の羅列、、、

それだけでもう怖気づいてしまった。

 

優秀すぎるぞXcode

 

とりあえず、本に書いてあるコードを打ち込んでいくと

 

http://www.flickr.com/photos/34239983@N06/5177296031

photo by avi.fotos

 

まるでヒントのようにポコポコとサジェスト機能が働いて、実際に書かれているものの1/3程度しか打たずとも全てXcodeが打ち出してくれる。

あまりの打ち込みやすさに

「私、天才?」

錯覚してしまうほど。

 

Objective-Cで使う変数型

 

変数というととっつきにくいが、数値を表す言語に以下の様な2つがある。らしい。

Objective-Cで使う制御文

  • if ~ else もし、AでないならBをするという条件
  • for ~ 繰り返し
  • while ~ もしAなら繰り返し
  • switch Aならこうする、Bならこうするという分岐

このへんはなんとなく英語の感覚でわかる。気もする。

 

2つのファイルに分割されたクラスの定義

 

Objective-Cではクラスの定義を2つに分割する。

  1. インターフェースファイル 拡張子が「.h」
  2. 実装ファイル 拡張子が「.m」

要するに見た目と中身ってことかしら?

 

ファンデーションフレームワークの種類

C言語をそのまま使う際に不適当になる場合を避けるために使われるもの。らしい。

  • NSString 文字列を扱う
  • NSArray 配列を扱う
  • NSDictionary 辞書を扱う

 

下がそれぞれのファンデーションフレームワークを使ってみた様子。

これがナニを意味しているのか、まだ良くわからない。

その辺に関してはあまり説明がない。

自力で勉強しろ、ということか。

 

 

#import <Foundation/Foundation.h>

 

int main(int argc, const char * argv[])

{

 

    @autoreleasepool {

        

        NSString *fString = @"3.141592653";

        float f1 = [fString floatValue] * 2.0;

        NSLog(@"2 x pi = %f", f1);

        

        fString = [NSString stringWithFormat:@"%f", f1];

        NSLog(@"%@", fString);

        

        NSArray *myArray = @[@"iPhoneアプリ開発",

                             [NSNumber numberWithFloat:5.89],

                             fString,

                             @[@"abc",@"def",@"ghi"],

                             [NSDate date]

                             ];

        NSLog(@"Number of elements = %ld", [myArray count]);

        NSLog(@"Object at index 4 = %@", [myArray objectAtIndex:4]);

        

        NSDictionary *myDict = @{@"model": @"SGT-3000",

                                 @"speed": @328.4,

                                 @"price": @5432900

                                 };

        NSLog(@"speed = %@", [myDict objectForKey:@"speed"]);

        

    

}

return 0;

 

まとめ

http://www.flickr.com/photos/86606998@N05/7935300636

photo by rituraj64

 

はじめてObjective-Cに触れてみて思ったのは、

そんなに大変ではないかも

ということだった。

 

いや、もちろん導入も導入なわけで、

なにも考えずにコピーをしているだけなのだが。

しかもほぼサジェスト機能。

 

ただ、教則本を眺めて、

よくわかんないなー

と考えているより、

 

ひたすら打ち込んで、どんなふうな結果になるのかというのを試してみるといいかもしれない。

小さな画面に小さく望んだ通りの結果が出ると、それだけで嬉しいものである。

 

 

C言語を、勉強したい。