萌えコス占い -ツンデレ碧さん- をリリースしました!

2010-08-18 に第一弾アプリ「萌えコス占い -ツンデレ碧さん-」をリリースしました。


萌えコス占い -ツンデレ碧さん-

【技術的には…】

ネイティブとウェブの連動アプリとなっています。

UIView, UIViewController, UIImageView など UIKit を主とするネイティブ

UIWebView によるウェブ


アプリ中のイメージギャラリーは UIScrollView ではなく UIView からゴリゴリ実装しています。

日付を文字列として取得 yyyy-mm-dd形式

Objective-Cでフォーマットを指定して日付(文字列)を取得する方法。
NSDate と NSDateFormatter を使用すると、yyyy-mm-dd形式などの日付(文字列)を簡単に取得できます。

// 今日の日付を取得
NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyy-MM-dd"];// フォーマット指定
NSString* today = [formatter stringFromDate:[NSDate date]];
NSLog(@"%@", today);

ランダムな数値(乱数)を取得する方法

Objective-Cで乱数を取得するメソッド。
実用性を考慮し、範囲を指定して取得できるようにしました。

※メソッドの内部処理は(Objective-Cではなく)C言語です。

-(int)getRandInt:(int)min max:(int)max {
	static int randInitFlag;
	if (randInitFlag == 0) {
		srand(time(NULL));
		randInitFlag = 1;
	}
	return min + (int)(rand()*(max-min+1.0)/(1.0+RAND_MAX));
}


以下、使用例。10から20までの整数を100回取得します。

[Example]

for (int i = 0; i < 100; i++) {
	NSLog(@"%d", [self getRandInt:10 max:20]);
}

[参考]
乱数 http://homepage3.nifty.com/mmgames/c_guide/21-02.html

長い文字列をセットする方法

長い文字列を複数行に渡ってセットする方法。
1行目 @"" 2行目以降 "" 最終行 "";
ときにソースコードの可読性が良くなります。

NSString* str = @"The NSString class declares "
"the programmatic interface "
"for an object that manages immutable strings. ";


以下のように、単純改行するとビルドできません。

[Biuld Error]

NSString* str = @"The NSString class declares 
the programmatic interface 
for an object that manages immutable strings. ";