Как перечислить nsmutablearray CGPoints?

Вот код, который у меня есть:

for (NSValue * i in cgpointarray){
        [text setHidden:NO];
        CGPoint temppoint = i.CGPointValue;
         if (touchended.x < temppoint.x+36 && touchended.x > temppoint.x-36 && touchended.y < temppoint.y+36 && touchended.y > temppoint.y -36){
             spacetouched = i;
             break;
        }

Цель состоит в том, чтобы найти каждое пространство (cgpoint x массива) + или - 36 пикселей для касания CGPoint. Однако я создал метку с именем text и установил ее скрытой, когда этот код запускается, текстовая метка не отображается, поэтому я думаю, что она не выполняет код. cgpointarray — это NSMutableArray, если это имеет значение.

редактировать: в этой строке: CGPoint temppoint = i.CGPointValue; компилятор говорит: локальное объявление 'i' скрывает переменную экземпляра


person Puregame    schedule 04.01.2012    source источник
comment
Вы пытались установить точку останова или оператор журнала в цикле, чтобы точно определить, не выполняется ли цикл просто или что-то еще не так? Потому что есть ряд возможных причин того, что вы описываете.   -  person Chuck    schedule 04.01.2012
comment
Поместите оператор журнала внутри цикла NSLog(@"text is %@",text), тогда вы будете знать, выполняется ли этот цикл, сколько раз и является ли «текст» нулевым. Кроме того, [i CGPointValue], вероятно, был бы предпочтительным синтаксисом здесь (мнение)   -  person Firoze Lafeer    schedule 04.01.2012
comment
@FirozeLafeer Я помещаю NSLog в цикл, ничего не происходит, когда он находится перед циклом, я вижу вывод. также изменено на «[i CGPointValue]»   -  person Puregame    schedule 04.01.2012
comment
Хорошо, затем проверьте, что cgpointarray не равен нулю. И если это не ноль, проверьте, не пусто ли оно [cgpointarray count]. Затем, имея эту информацию на руках, вы можете вернуться оттуда.   -  person Firoze Lafeer    schedule 04.01.2012
comment
@FirozeLafeer Я вставил [cgpointarray count], и он говорит null, однако он ДОЛЖЕН быть заполнен 16 CGPoints, я использовал этот код для вставки cgpoints: [cgpointarray addObject: [NSValue valueWithCGPoint:CGPointMake(board.center.x + 109, board .center.y + 109)]];   -  person Puregame    schedule 04.01.2012
comment
Вы проверили, что cgpointarray не равно нулю?   -  person Firoze Lafeer    schedule 04.01.2012


Ответы (1)


Почему бы вам не исправить предупреждение - похоже, у вас есть переменная экземпляра, также называемая i ?

person Dennis Mathews    schedule 04.01.2012
comment
Я не знаю как. или что это значит. - person Puregame; 04.01.2012