【发布时间】:2011-03-12 17:33:32
【问题描述】:
我收到此代码的错误(需要左值作为赋值的左操作数):
[[addAlertViewController alertsArray] = [NSMutableArray arrayWithObjects:nil] retain];
我该如何解决?
【问题讨论】:
标签: objective-c nsmutablearray lvalue
我收到此代码的错误(需要左值作为赋值的左操作数):
[[addAlertViewController alertsArray] = [NSMutableArray arrayWithObjects:nil] retain];
我该如何解决?
【问题讨论】:
标签: objective-c nsmutablearray lvalue
在解读编译器警告时,了解左值和右值的作用。左值是将被分配的东西,而右值是可以进行分配的东西。 More info on wikipedia
右值也可以是左值,例如 a = b = c(其中 c 是左值 b 的右值,但 b 是左值 a 的右值)。
任何时候你看到“需要左值”然后查看 = 运算符的左侧,那里有一个错误。
【讨论】:
相应的代码如下:
[addAlertViewController setAlertsArray:[NSMutableArray arrayWithObjects:nil]];
注意您在@interface 的addAlertViewController 的类中声明:
@property (nonatomic, retain) NSMutableArray *alertsArray;
在你的实现文件中
@synthesize alertsArray;
【讨论】: