Objective-C | 2010-07-20 |
$ 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 ... ♪
$ 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 ... ♪