iOS - редактируемые подпредставления (TextViews, Labels и т. д.), возвращающие ноль - PullRequest
1 голос
/ 12 декабря 2011

Я написал базовое приложение, которое выводит некоторые текстовые представления на внешний экран.Затем пользователь может напечатать сообщения, которые будут отображаться в этих представлениях, и решить, какие из них являются редактируемыми и т. Д.

Однако при каждом запуске я проверяю, является ли представление редактируемым, оно всегда возвращает ноль.

Код ниже:

        UITextView *lbl = (UITextView *) [view.subviews objectAtIndex:outputCount];

Если я не приведу lbl к UITextView, при запуске я получу ноль:

if(lbl.editable)

Если я приведу его, я получу EXC_BAD_ACCESS,Кто-нибудь есть какие-либо идеи, что может быть ошибка?

Приветствую, ребята!

РЕДАКТИРОВАТЬ: я играл с ним, я считаю, что плохой доступ, потому что он возвращает ноль, поэтому если if не удается,Я могу распечатать это хорошо.Но как редактируемое значение может быть нулевым?Конечно, это должно быть ложно или верно.Если я загружаю вид на iPad и касаюсь текстового представления, для которого редактируемое поле имеет значение false, оно знает.Так где же это узнать?

Спасибо!

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Итак, я изменил код для использования UILabel и установил флажок if:

if(lbl.enabled == YES)

И кажется, что он бежит, как сон, но теперь мне нужно, чтобы поле не засохло, когда оно не включено, о чем, я уверен, я спрошу здесь до конца дня.

Спасибо за помощь, ребята!

0 голосов
/ 12 декабря 2011

Ваш фрагмент кода не указывает, откуда взято outputCount, но похоже, что это, вероятно, проблема.Если ваш вид имеет, скажем, 4 подпредставления и вы пытаетесь сослаться на objectAtIndex:4, вы получите ноль.Возможно, ваш код должен сказать [view.subviews objectAtIndex:[outputCount - 1]] вместо этого.Опять же, неясно, откуда в вашем коде взято outputCount.

...