0

我正在努力连接 NSStrings 和 int。单独来看,下面的代码效果很好。它返回“这是一个带有 int 10 的测试字符串”

int myInt =10;

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

NSLog(@"%@", newstring);

但是,当我将以下代码放入我的项目时,我收到一个错误:弧不允许将 int 隐式转换为 NSString。”

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

有人可以建议我哪里出错了吗?尽管我传入了 2 个变量,但在我看来,两者本质上是相同的。

4

1 回答 1

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

于 2013-01-30T11:14:52.763 回答