将NSStrings与整数连接 - ARC错误

时间:2013-01-30 11:12:54

标签: objective-c cocoa xcode4.5

我正在努力连接NSStrings和整数。单独使用以下代码非常有效。它返回“This is a test string with int 10”

int myInt =10;

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

NSLog(@"%@", newstring);

然而,当我将下面的代码放入我的项目中时,我得到一个错误:使用arc不允许将int隐式转换为NSString。“

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

有人能说出我哪里错了吗?虽然我传递了两个变量,但在我看来两者基本相同。

1 个答案:

答案 0 :(得分:4)

“隔离”代码与第二代码非常不同。

你也必须在第二个例子中使用stringWithFormat:

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

或者有两行但更容易理解:

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

一些文档:Apple String Programming Guide - Formatting String Objects