所以,我想把一个实例变量放到像这样的NSString中:
NSString * theAnswer =(@“答案是%@ \ n”,self.answer);
我不确定我是对还是不对。我认为NSString会像NSLog一样工作,但显然它没有。
theAnswer仅返回实例变量而没有“答案是”
有人可以告诉我为什么以及如何解决这个问题?
感谢。
答案 0 :(得分:16)
NSString *theAnswer = [NSString stringWithFormat:@"The answer is %@", self.answer];
答案 1 :(得分:0)
我还要注意除了dj2之外,NSLog是一个方法而不是Object。对象没有以("param1", param2)
的形式初始化。对于NSString的情况,你做了dj2做的事情:
NSString *theAnswer = [[NSString alloc] initWithFormat:@"The answer is %@", self.answer];
你必须将theAnswer声明为NSString指针,因为所有的Objective-C对象都是指针,然后再说一下它将分配给哪个类(在本例中为NSString)然后你会说你将如何初始化在这种情况下,您使用initWithFormat:
对其进行初始化。