Цель C - L-значение требуется в качестве левого операнда присваивания - PullRequest
0 голосов
/ 07 июля 2010

Я получаю ошибку (Lvalue требуется как левый операнд присваивания) для этого кода:

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

Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 09 июля 2010

Знание того, что lvalue и rvalue помогут при расшифровке предупреждений компилятора. Lvalue - это то, что будет назначено, а rvalue - это то, что может сделать назначение. Больше информации в Википедии

Значение r также может быть значением l, как в случае a = b = c (где c - значение l для значения b, но тогда b - значение l для значения a).

каждый раз, когда вы видите «lvalue required», смотрите слева от оператора =, там есть ошибка.

0 голосов
/ 07 июля 2010

Соответствующий код выглядит следующим образом:

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

Будьте осторожны с тем, что вы объявили в @interface из addAlertViewController класса:

@property (nonatomic, retain) NSMutableArray *alertsArray;

А в вашем файле реализации

@synthesize alertsArray;

И .. Я согласен с @taskinoor, RTFM.

...