我对Objective-C和编程很新,我在解决我的代码中遇到的一个奇怪错误时遇到了一些困难。我逐行重新检查了我的代码,但无论我做什么,我都会在这一行上出现“预期标识符”错误。
NSString *text = [NSString stringWithFormat:@"Your total is $%.2f", [self.cartTotal]];
我已多次重新输入该线以确保我没有错过任何拼写错误,但是一个小红箭指向第一个右侧括号。
答案 0 :(得分:3)
从括号中取出[self.cartTotal]
。他们在这里没必要。
应该是:
NSString *text = [NSString stringWithFormat:@"Your total is $%.2f", self.cartTotal];
为了帮助理解错误(假设您来自Java或C ++之类的语言),您所写的内容相当于用Java编写:
this.cartTotal.
注意最后的悬挂点?这就是你基本上在这里所做的。在Java中,该点表示您在任何对象cartTotal
上调用方法,或访问该对象上的公共变量。我不确定Java或C ++错误消息会在这里说什么,但这是等效的方案。
鉴于@ GregParker的出色评论......
您通过cartTotal
创建了@property
。
@property double cartTotal; // or something like this
这创造了三件事:
以两种方式访问setter:
[self setCartTotal:value];
或者:
self.cartTotal = value;
这两者都做同样的事情。
同样可以通过两种方式访问getter:
[self cartTotal];
或者:
self.cartTotal;