带有实例变量的NSString

时间:2010-10-10 03:22:51

标签: objective-c nsstring

所以,我想把一个实例变量放到像这样的NSString中:

NSString * theAnswer =(@“答案是%@ \ n”,self.answer);

我不确定我是对还是不对。我认为NSString会像NSLog一样工作,但显然它没有。

theAnswer仅返回实例变量而没有“答案是”

有人可以告诉我为什么以及如何解决这个问题?

感谢。

2 个答案:

答案 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:对其进行初始化。