iOS - 可编辑的子视图(TextViews,Labels等)返回null

时间:2011-12-12 19:16:44

标签: ios ipad uitextfield exc-bad-access

我编写了一个基本应用程序,可以将一些文本视图放到外部屏幕上。然后,用户可以键入要在这些视图中显示的消息,并确定哪些消息是可编辑的等等。

但是,每当我运行时,我会检查视图是否可编辑,它总是返回null。

代码如下:

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

如果我没有将lbl强制转换为UITextView,那么在运行时我会得到null:

if(lbl.editable)

如果我投了它,我会得到一个EXC_BAD_ACCESS,有没有人有任何想法可能是什么错误?

干杯!

编辑:一直在玩它,我相信糟糕的访问是因为它返回null,因此if失败。我可以将它打印出来。但是,可编辑值如何为空?当然它必须是虚假或真实的。如果我将视图加载到iPad上并触摸其可编辑字段设置为false的文本视图,它就知道了。那它在哪里找到了?

谢谢!

2 个答案:

答案 0 :(得分:1)

因此,我更改了代码以使用UILabel并设置if来检查:

if(lbl.enabled == YES)

它似乎像梦一样运行,但现在我需要阻止该字段在没有启用时变灰,我相信在白天出来之前我会问这里。

感谢帮助人员!

答案 1 :(得分:0)

您的代码段未指定outputCount来自何处,但看起来可能是问题所在。如果您的视图有4个子视图,并且您尝试引用objectAtIndex:4,则会得到null。也许您的代码应该改为[view.subviews objectAtIndex:[outputCount - 1]]。同样,不清楚代码中outputCount的来源。