NSMutableStringの文字列を入れ替えるには、「setString」メソッドを使用します。
NSMutableString* str = [[NSMutableString alloc] initWithString:@"AAA"];
[str setString:@"BBB"];
上記例では、"AAA"で初期化したNSMutableStringの文字列を"BBB"に入れ替えています。
2010年10月25日月曜日
2010年10月24日日曜日
iPadかどうかの判定
デバイスがiPadかどうかを判定するには、「UI_USER_INTERFACE_IDIOM()」関数を使用します。
-(BOOL)isIpad
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
return TRUE;
}else {
return FALSE;
}
}
使い方はまぁ、見たままです。
-(BOOL)isIpad
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
return TRUE;
}else {
return FALSE;
}
}
使い方はまぁ、見たままです。
iPhone / iPodのバージョン判定
iPhoneのバージョン判定を行うには、uname 関数を使います。
使い方はLinuxで使われるシステムコールと同じです。
utsname型の構造体にバージョンの文字列が返るので、それを判定します。
-(BOOL)deviceIsiPhone4OrLater
{
struct utsname u;
uname(&u);
NSString* machine = [NSString stringWithCString:(const char*)u.machine encoding:NSUTF8StringEncoding];
if ([machine isEqualToString:@"iPhone 1,1"] == YES) {
// iPhone 1G
return NO;
} else if ([machine isEqualToString:@"iPhone1,2"] == YES) {
// iPhone 3G
return NO;
} else if ([machine isEqualToString:@"iPhone2,1"] == YES) {
// iPhone 3GS
return NO;
} else if ([machine isEqualToString:@"iPod1,1"] == YES) {
// iPod touch 1G
return NO;
} else if ([machine isEqualToString:@"iPod2,1"] == YES) {
// iPod touch 2G
return NO;
} else if ([machine isEqualToString:@"iPod3,1"] == YES) {
// iPod touch Late 2009
return NO;
}
return YES;
}
上記の「machine」にiPhoneのバージョンを示す文字列が返ってきます。
私はiPhone 4を持っていないので何という文字列が返るのか確認できませんが、これまでの流れから言うと多分「iPhone 3,1」?とかが返ってくると思います。
(誰か持ってる方いらっしゃいましたら返却文字列を教えてもらえると嬉しいです。)
使い方はLinuxで使われるシステムコールと同じです。
utsname型の構造体にバージョンの文字列が返るので、それを判定します。
-(BOOL)deviceIsiPhone4OrLater
{
struct utsname u;
uname(&u);
NSString* machine = [NSString stringWithCString:(const char*)u.machine encoding:NSUTF8StringEncoding];
if ([machine isEqualToString:@"iPhone 1,1"] == YES) {
// iPhone 1G
return NO;
} else if ([machine isEqualToString:@"iPhone1,2"] == YES) {
// iPhone 3G
return NO;
} else if ([machine isEqualToString:@"iPhone2,1"] == YES) {
// iPhone 3GS
return NO;
} else if ([machine isEqualToString:@"iPod1,1"] == YES) {
// iPod touch 1G
return NO;
} else if ([machine isEqualToString:@"iPod2,1"] == YES) {
// iPod touch 2G
return NO;
} else if ([machine isEqualToString:@"iPod3,1"] == YES) {
// iPod touch Late 2009
return NO;
}
return YES;
}
上記の「machine」にiPhoneのバージョンを示す文字列が返ってきます。
私はiPhone 4を持っていないので何という文字列が返るのか確認できませんが、これまでの流れから言うと多分「iPhone 3,1」?とかが返ってくると思います。
(誰か持ってる方いらっしゃいましたら返却文字列を教えてもらえると嬉しいです。)
2010年10月18日月曜日
文字列の置換
文字列を置換するには、NSMutableStringクラスのreplaceOccurrencesOfStringメソッドを使用します。
replaceOccurrencesOfString:変換前文字列 withString:変換後文字列 options:検索オプション range:変換対象となる文字列の範囲
--------------------
[tmpString replaceOccurrencesOfString:@"AAA"
withString:@"BBB"
options:NSLiteralSearch
range:NSMakeRange(0, [tmpString length])];
--------------------
上記例では、tmpString文字列中の"AAA"が"BBB"に置き換えられます。
replaceOccurrencesOfString:変換前文字列 withString:変換後文字列 options:検索オプション range:変換対象となる文字列の範囲
--------------------
[tmpString replaceOccurrencesOfString:@"AAA"
withString:@"BBB"
options:NSLiteralSearch
range:NSMakeRange(0, [tmpString length])];
--------------------
上記例では、tmpString文字列中の"AAA"が"BBB"に置き換えられます。
2010年10月17日日曜日
ファイルのフルパス取得
アプリが置かれているディレクトリの文字列を取得するには、NSHomeDirectory()関数を使用します。
これにファイル名の文字列を追加すれば特定ファイルのフルパスが取得できます。
------------------
NSString* path = [NSHomeDirectory() stringByAppendingPathComponent:@"aaa.txt"];
------------------
ファイル名を追加する時は、NSMutableStringクラスのインスタンスメソッドである「stringByAppendingPathComponent」を使います。これを使うと追加する文字列の先頭にスラッシュが入ります。
普通の文字列追加メソッド「appendString」ではスラッシュ は入らないので少し注意です。
これにファイル名の文字列を追加すれば特定ファイルのフルパスが取得できます。
------------------
NSString* path = [NSHomeDirectory() stringByAppendingPathComponent:@"aaa.txt"];
------------------
ファイル名を追加する時は、NSMutableStringクラスのインスタンスメソッドである「stringByAppendingPathComponent」を使います。これを使うと追加する文字列の先頭にスラッシュが入ります。
普通の文字列追加メソッド「appendString」ではスラッシュ
起動時スプラッシュウィンドウ
iPhoneアプリで起動時に表示されるスプラッシュウィンドウを表示するのは非常に簡単です。
実はソースコードをいじる必要もありません。
プロジェクトにDefault.pngという画像を置くだけです。
たったこれだけでビルド&起動するとスプラッシュウィンドウが表示されるようになります。
iOSってこういう痒いところに手が届いてるのが評価されてるんでしょうね。
実はソースコードをいじる必要もありません。
プロジェクトにDefault.pngという画像を置くだけです。
たったこれだけでビルド&起動するとスプラッシュウィンドウが表示されるようになります。
iOSってこういう痒いところに手が届いてるのが評価されてるんでしょうね。
登録:
投稿 (Atom)