Objective C - Lvalue作为赋值的左操作数

时间:2010-07-07 09:29:51

标签: objective-c nsmutablearray lvalue

我收到此代码的错误(Lvalue需要作为赋值的左操作数):

[[addAlertViewController alertsArray] = [NSMutableArray arrayWithObjects:nil] retain];

我该如何解决?

2 个答案:

答案 0 :(得分:1)

在解密编译器警告时知道左值和右值对什么有帮助。左值是将要分配的值,右值是可以进行分配的值。 More info on wikipedia

右值也可以是左值,就像a = b = c(其中c是左值b的右值,但是b是左值a的右值)。

任何时候你看到“需要左值”然后在=运算符的左边看,那里有一个错误。

答案 1 :(得分:0)

适当的代码如下:

[addAlertViewController setAlertsArray:[NSMutableArray arrayWithObjects:nil]];

请注意,您已在@interface的{​​{1}}类addAlertViewController中声明:

@property (nonatomic, retain) NSMutableArray *alertsArray;

并在您的实施文件中

@synthesize alertsArray;

And.. I'll agree with @taskinoor, RTFM.