NSArray, последний объект всегда недействителен - PullRequest
0 голосов
/ 06 августа 2009

Это поставило меня в тупик.

Я создаю NSArray и initWithObjects. Последний элемент никогда не выделяется. Фактически, следующий alloc в моем коде занимает тот же адрес памяти, что и тот, который указан в последнем элементе.

Код:

coordArr = [[NSArray alloc]initWithObjects:
     [NSValue valueWithCGPoint:CGPointMake(200.0,40.0)],
     [NSValue valueWithCGPoint:CGPointMake(56.0,290.0)],
     [NSValue valueWithCGPoint:CGPointMake(99.0,35.0)],
     [NSValue valueWithCGPoint:CGPointMake(222.0,333.0)],
     [NSValue valueWithCGPoint:CGPointMake(60.0,60.0)],
     [NSValue valueWithCGPoint:CGPointMake(105.0,299.0)],
     nil];

Отладчик показывает:

альтернативный текст http://sergepress.com/temp/NSArray.png

Если у вас есть идея, это поможет. Спасибо!

1 Ответ

1 голос
/ 07 августа 2009

Не всегда доверяйте отладчику, у меня было много раз, когда отладчик просто ошибался насчет того, что находится в переменной, так же, как в вашем случае он говорит недопустимый, когда это действительно не так, так что если бы я был вами, я бы просто вывел номер с NSLog и посмотреть, если он выводит (он будет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...