我编写了一个基本应用程序,可以将一些文本视图放到外部屏幕上。然后,用户可以键入要在这些视图中显示的消息,并确定哪些消息是可编辑的等等。
但是,每当我运行时,我会检查视图是否可编辑,它总是返回null。
代码如下:
UITextView *lbl = (UITextView *) [view.subviews objectAtIndex:outputCount];
如果我没有将lbl强制转换为UITextView,那么在运行时我会得到null:
if(lbl.editable)
如果我投了它,我会得到一个EXC_BAD_ACCESS,有没有人有任何想法可能是什么错误?
干杯!
编辑:一直在玩它,我相信糟糕的访问是因为它返回null,因此if失败。我可以将它打印出来。但是,可编辑值如何为空?当然它必须是虚假或真实的。如果我将视图加载到iPad上并触摸其可编辑字段设置为false的文本视图,它就知道了。那它在哪里找到了?谢谢!
答案 0 :(得分:1)
因此,我更改了代码以使用UILabel并设置if来检查:
if(lbl.enabled == YES)
它似乎像梦一样运行,但现在我需要阻止该字段在没有启用时变灰,我相信在白天出来之前我会问这里。
感谢帮助人员!
答案 1 :(得分:0)
您的代码段未指定outputCount
来自何处,但看起来可能是问题所在。如果您的视图有4个子视图,并且您尝试引用objectAtIndex:4
,则会得到null。也许您的代码应该改为[view.subviews objectAtIndex:[outputCount - 1]]
。同样,不清楚代码中outputCount
的来源。