おしい県でWebに携わって働く人のブログ

基本的にはIT&Web界隈に関する役に立ちそうなことをまとめていきます。

「日経ソフトウェア2013年3月号」の新連載「Objective-C プログラミング入門」を勉強してみた。

先月号から購読を始めた「日経ソフトウェア」の3月号から、とってもタイミング良く、新連載「Objective-C プログラミング入門」が始まりましたよ。

 

日経ソフトウエア 2013年 03月号 [雑誌]

日経ソフトウエア 2013年 03月号 [雑誌]

 

Objective-Cと言えばXcodeということで、実際にXcodeでプロジェクトを作っていくわけですが、

f:id:lord_cashew:20130201133953p:plain

今回初めて「OS X」のテンプレート(Command Line Tool)を使ってみました。

f:id:lord_cashew:20130201140037p:plain

と言っても今までに何度も「iOS」のテンプレートで作成してきたプロジェクトと特別違う部分もなく、ただ「Storyboardがないなぁ」というくらいです。

 

書かれてる通り2つのサンプルプログラム(下記参照、main.mのソースコード)を入力してみましたが、詳しい説明は次号のようなので、来月号が発売されるまでの1ヶ月の間に、これらをバッチリ理解できるレベルになっておきたいなぁと思う今日この頃です。

 

#import <Foundation/Foundation.h>

 

NSString* input();

 

int main(int argc, const char * argv)

{

 

    @autoreleasepool {

        

        // insert code here...

        NSLog(@"%@", @"your name?");

        NSString* yourname = input();

        NSLog(@"Hello, %@!", yourname);

        

    }

    return 0;

}

 

 

NSString* input()

{

    

    char str[256];

    

    fgets(str, 256, stdin);

    

    NSString* result = [NSString stringWithUTF8String:str];

    

    return [result stringByTrimmingCharactersInSet:

            [NSCharacterSetwhitespaceAndNewlineCharacterSet]];

    

}

 

#import <Foundation/Foundation.h>

 

int main(int argc, const char * argv)

{

 

    @autoreleasepool {

        

        NSString *s1 = @"hello!            ";

        NSLog(@"%ld", [s1 length]);

        

        NSString *s2 = [s1 stringByTrimmingCharactersInSet:

                        [NSCharacterSetwhitespaceAndNewlineCharacterSet]];

        

        NSLog(@"%ld", [s2 length]);

        

        NSString *s3 = @"100";

        int i = [s3 intValue];

        NSLog(@"%d", i);

    }

    return 0;

}