将'int'隐式转换为'NSString *'

时间:2015-03-04 22:50:40

标签: ios objective-c nsstring automatic-ref-counting

//This is to give a general idea of what is being called
int realQuestionIndex;
realQuestionIndex = currentQuestionIndex;
currentQuestionIndex = 0;

//The below code is where I'm receiving the error
questionIndexLabel.text = NSStringf(@"%d", realQuestionIndex+1);
//The updated code with NSString stringWithFormat producing error
questionIndexLabel.text = [NSString stringWithFormat:(@"%d",realQuestionIndex+1)];

我修复了别人的项目中的错误,我之前从未使用过NSStringf。我被建议使用NSString stringWithFormat ..但我仍然收到相同的错误。有任何想法吗?抱歉新手问题!

1 个答案:

答案 0 :(得分:1)

我猜测NSStringf()是一个预处理器宏,它在这些文件包含的某些头文件中是#defined。它可能只是创建一个对stringWithFormat的调用。

那是毫无意义和丑陋的。只需使用正常的stringWithFormat语法,正如其他人已经在评论中解释的那样:

questionIndexLabel.text = [NSString stringWithFormat:@"%d",realQuestionIndex+1];

(没有括号)

@LyndseyScott,你应该发表你的评论作为答案,以便OP可以接受它,你会得到它的信任。