« iAd 設定 | トップページ | リジェクトされましたパート4 »

2011年3月30日 (水)

format not a string literal and no format arguments の対処方法

format not a string literal and no format arguments
と、いうエラーが出た。

まずは下記のコード。

NSString *str = @"hoge";
NSmutableString *mstr = [NSMutableString stringWithCapacity:0];
[mstr appendFormat:str];

目的は、mstrにstrの文字列を入れること。
しかしまあ、strは「文字列じゃねぇよバーカ」って言われるわけです。
原因は書き方が悪いってことなんですね。
どこが悪いのか?
はい、犯人はこちら。

[mstr appendFormat:str];

どどん。
ここに大きな落とし穴があったわけです。
僕はObjective-C逆引きハンドブックにしたがって作ったつもりでした。
しかし、めんどくさがってNSStringを単純なものにしたらエラーになっちゃったんです。
そこで、こう書き換えました。

[mstr appendFormat:@"%@", str];

NSLogなんかでよく書く書式です。
そうしたら見事、エラー解消。
とりあえずは、同じエラーがでたらこの書式にしてみると直るかもでございます。

« iAd 設定 | トップページ | リジェクトされましたパート4 »

iPhone開発」カテゴリの記事

コメント

助かりましたヽ(´▽`)/

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: format not a string literal and no format arguments の対処方法:

« iAd 設定 | トップページ | リジェクトされましたパート4 »