Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

[Objective-C] 文字列操作の便利Tips

公開日: : 最終更新日:2014/08/09 iPhone App 開発, Objective-C ,


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

Tipsいろいろ

先日の投稿 共通関数をまとめたクラスを作ろう!の流れで、文字列を操作するときに便利そうな関数をまとめてみました。

ぜひ参考になさってください。

文字列がnilか空か判定

+ (BOOL)isEmpty:(NSString *)aValue
{
if (aValue == nil || aValue.length == 0) return TRUE;
return FALSE;
}

文字列がnilか空であればTRUE、なんらかの値が入っていればFALSEが返却されます。

文字列がnilか空か判定(空白スペースも空とみなす)

+ (BOOL)isEmptyOrBlankSpace:(NSString *)aValue
{
if (aValue == nil || [[aValue stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]] isEqualToString:@""]) {
return TRUE;
}
return FALSE;
}

stringByTrimmingCharactersInSet関数で第一引数の値をトリミングします。
この場合の[NSCharacterSet whitespaceCharacterSet]は空白スペース(半角・全角)になります。
なので、空白スペースをいったん取り除いて、空文字列を比較しています。
戻り値はnilか空か空白スペースの場合はTRUE、それ以外の文字列はFALSEになります。

金額形式に変換する(カンマ付きの書式)

+ (NSString *)getAmountFormatString:(NSNumber *)aValue
{
if (aValue == nil) return @"0";
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setGroupingSeparator:@","];
[formatter setGroupingSize:3];
return [formatter stringFromNumber:aValue];
}

文字列を金額フォーマットに変換します。
例えば1000という値が入っていた場合、1,000という結果になります。(nilの場合は0)
ちなみに、第一引数はNSNumber型になっていますが、NSIntegerにしたい場合は[NSNumber numberWithInteger:aValue]などで変換してください。
[formatter stringFromNumber:aValue]で指定したフォーマットでNSNumber型を変換します。

文字列を省略して変換する

+ (NSString *)getOmittedString:(NSString *)aValue display:(NSInteger)length
{
if (aValue.length < length) return aValue;
NSString *str = [aValue substringToIndex:length];
return [NSString stringWithFormat:@"%@…", str];
}

文字列を省略して省略文字を付加します。
第一引数は省略対象の文字列、第二引数は表示する文字数になります。
[aValue substringToIndex:length]で対象の文字数で抜き出し、”…”を付け加えます。
例えば、[getOmittedString:@”あいうえおかきくけこ” display:5] の結果は
「あいうえお…」になります。

まとめ

プログラムをする上で、文字列操作はとても多いです。
こういった便利な関数を有効に使って、要領よく開発したいですね。

ad

関連記事

[Objective-C] デリゲート (Delegate)を理解する!

デリゲートとは? デリゲートに関しての意味合いとして、”委譲”とか”代理”と説明されることが多いで

記事を読む

[Swift] optional値の設定(??)

optional値がnilの時 プロジェクトでのテンプレートを選択した時にソースコードが自動生成さ

記事を読む

[Swift] UINavigationControllerで戻るイベントを取得する

UINavigationController UINavigationControllerを使用し

記事を読む

[Objective-C] 共通関数をまとめたクラスを作ろう!

共通クラスとは? アプリを作っていると「この処理何回も書いてるなー」ということが多々あると思います

記事を読む

[Objective-C] UINavigationControllerのセグエを使って画面遷移をする

画面遷移の実装 今回はUINavigationControllerを使って画面遷移をしたいと思いま

記事を読む

TabBarControllerとNavigationControllerのボタン追加

TabBarとNavigationを同時に使っているViewControllerの場合、naviga

記事を読む

[iPhone App] WorkManagerの不具合について

バージョン1.2.2の不具合 11/25日現在、iPhoneアプリの「WorkManger」バージ

記事を読む

no image

爆走中!

挫折街道爆走中です! が! 迷走中でもあるわけです、はい。 そんな中で、迷走するに至った訳

記事を読む

[Swift] Asset Catalogについて

XCode5から追加されたAsset Catalog。 いままで標準のImages.xcasset

記事を読む

[Swift] プロパティリスト(plist)を使ってCoreDataで一括登録する

プロパティリストを使う 初期データやあらかじめ用意したデータを一括登録したい場合、プロパティリスト

記事を読む

ad

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ad

[PHP] curl転送してみる(googleに)

curlでgoogle画像検索APIにアクセスしてみます。 cu

[PHP] PDOでMySQLの接続確認をする

PDO PHPでMySQLに接続する際には、mysql_connec

[PHP] ランダムな英数字を生成する

便利系メソッド 今回はPHPでランダムな英数字を作成してみます。

[Swift] プロパティリスト(plist)の値を取得

plistからデータを取得してみます。 こちらのエントリーも参考にし

[Swift] Asset Catalogについて

XCode5から追加されたAsset Catalog。 いままで標準

→もっと見る

  • 1978年の七夕生まれ。 25才でweb業界の門を叩き、28才でフリーランスに。 現在は、フリーランスでマークアップ中心に、wordpressのカスタマイズやデザインをしております。 また、iPhoneアプリの開発もしております。

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
PAGE TOP ↑

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524