2ntブログ
2024 101234567891011121314151617181920212223242526272829302024 12
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Objective-C 2010-07-20
Objective-C逆引きハンドブックObjective-C逆引きハンドブック
(2010/02/26)
林 晃

商品詳細を見る


あんまり聞き慣れない言語ですよね。
C言語なのは何となく分かりますが。

$ gcc -c main.m
$ gcc -c Song.m
$ gcc -c Singer.miPhoneアプリを作ってみたいなと思いまして。
Objective-Cの勉強を始めてみた。

【参考サイト】
一番初めのObjective-Cプログラム(@IT)

まずは、Hello World でしょ。
ちょっと作るだけでも、ファイルをいろいろ用意するのね。
なんだか、C言語って感じがする。

ヘッダファイルを用意。
・Singer.h

// 必要なファイルを読み込む
#import <Foundation/NSObject.h>
#import <stdio.h>
#import "Song.h"

// Singerクラスの宣言
@interface Singer : NSObject
{
// メンバ変数を定義
Song *song;
}
// メソッドの宣言
- (void)setSong : (Song *)argSong;
- (void)sing;
@end

・Song.h


// 必要なファイルを読み込む
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>

// Songクラスの宣言
@interface Song : NSObject
{
// メンバ変数を定義
NSString *lyrics;
}
// メソッドの宣言
- (NSString *)lyrics;
- (void)setLyrics : (NSString *)aryLyrics;
@end


次にクラスの作成。
・Singer.m

// 対応するヘッダファイルを読み込む
#import "Singer.h"

// Singerクラスの実装 ここから
@implementation Singer : NSObject
- (void)setSong:(Song *)argSong
{
song = argSong;
}
- (void)sing
{
printf(
"♪ %s ♪\n", [[song lyrics] UTF8String]
);
}
@end
// クラスの実装ここまで


・Song.m

// 対応するヘッダファイルを読み込む
#import "Song.h"

// Songクラスの実装 ここから
@implementation Song : NSObject
- (NSString *)lyrics
{
return lyrics;
}
- (void)setLyrics:(NSString *)argLyrics
{
lyrics = argLyrics;
}
@end
// クラスの実装ここまで


最後にメインとなるコントローラ部分を作る。
・main.m

#import "Song.h"
#import "Singer.h"

// 実行プログラム
int main(void)
{
id song;
id singer;

// 初期化
song = [[Song alloc] init];
[song setLyrics:@"La La La ... "];

// 初期化
singer = [[Singer alloc] init];
[singer setSong:song];
[singer sing];

return 0;
}



コンパイラする。


$ gcc -c main.m
$ gcc -c Song.m
$ gcc -c Singer.m
$ gcc -o myFirstProgram main.o Song.o Singer.o -framework Foundation

// 実行
$ ./myFirstProgram
♪ La La La ... ♪




コメント非表示