Objective C - 需要左值作为赋值的左操作数

发布于 2024-09-08 14:59:33 字数 160 浏览 3 评论 0原文

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

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

如何修复它?

I get the error (Lvalue required as left operand of assignment) for this code:

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

How can I fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梓梦 2024-09-15 14:59:33

了解左值和右值有助于破译编译器警告。左值是要被赋值的东西,右值是可以进行赋值的东西。 有关维基百科的更多信息

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

每当您看到“需要左值”,然后查看 = 运算符的左侧时,就会发现那里有错误。

Knowing what an lvalue and rvalue will help when deciphering compiler warnings. A lvalue is something that will be assigned and a rvalue is something that can do the assigning. More info on wikipedia

An rvalue can also be a lvalue, like in the case of a = b = c (where c is an rvalue to lvalue b, but then b is a rvalue to the lvalue a).

anytime you see "lvalue required" then look on the left of the = operator, there is an error there.

娇纵 2024-09-15 14:59:33

适当的代码如下:

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

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

@property (nonatomic, retain) NSMutableArray *alertsArray;

并在您的实现文件

@synthesize alertsArray;

而且..我同意@taskinoor,RTFM。

The appropriate Code is as follows:

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

Be careful that you have declared in your @interface of addAlertViewController's Class:

@property (nonatomic, retain) NSMutableArray *alertsArray;

And in your implementation file

@synthesize alertsArray;

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文