0

NSString と int の連結に苦労しています。単独では、以下のコードはうまく機能します。「これはint 10のテスト文字列です」を返します

int myInt =10;

NSString *newstring =
[NSString stringWithFormat: @"This is a test string with an int %i", myInt];

NSLog(@"%@", newstring);

ただし、以下のコードをプロジェクトに入れると、エラーが発生します: int から NSString への暗黙的な変換は、arc では許可されていません。"

[_mycrop setTempLeft: (@"left value %i is %i", count, [_mycrop leftValue])];

誰かが私が間違っているところを提案できますか? 私は2つの変数を渡していますが、私の考えでは、どちらも本質的に同じです。

4

1 に答える 1

4

「分離された」コードは、2 番目のコードとは大きく異なります。

stringWithFormat:2 番目の例でも使用する必要があります。

[_mycrop setTempLeft:[NSString stringWithFormat:@"left value %i is %i", count, [_mycrop leftValue]]];

または、2行で理解する方が簡単です:

NSString *tempLeft = [NSString stringWithFormat:@"left value %i is %i", count, [_mycrop leftValue]];
[_mycrop setTempLeft:tempLeft];

いくつかのドキュメント: Apple String Programming Guide - Formatting String Objects

于 2013-01-30T11:14:52.763 に答える