iOS 中 Storyboard 创建的属性
Posted
技术标签:
【中文标题】iOS 中 Storyboard 创建的属性【英文标题】:Properties created by the Storyboard in iOS 【发布时间】:2013-03-01 02:33:40 【问题描述】:我在情节提要中有一个 UIViewController,我让它创建代码:
@property (weak, nonatomic) IBOutlet UIWebView *webView2;
但是,在我的viewDidLoad
方法之后,我打印出self.webView2
,它是(null)
。为什么它是空的?我需要向 webView 添加一个 URL,但此时它为空。
【问题讨论】:
在 Interface Builder 中,您必须将 Web 视图链接到您的插座。您可以通过控制从 Web 视图拖动(或右键单击并从 Web 视图拖动到)到您的IBOutlet
来执行此操作。请参阅 Apple 的 Your First ios App 教程中的 Configuring the View。坦率地说,在开发自己的应用程序之前阅读该教程可能很有意义。
您是否检查过插座是否已实际连接?右键单击视图控制器并检查连接。或者网络视图。或者看看这个属性声明旁边的小圆圈,看看是不是填好了。
【参考方案1】:
你有没有把UIWebView拖到storyboard中的outlet连接(属性前面的圆圈是不是填的)?这将自动实例化控件。
【讨论】:
圆圈没有填,怎么填? 哦...我改了名字。这是不允许的吗? Control-从 UIWebView 拖动到底部的黄色圆圈(视图控制器)。从弹出窗口中选择属性名称。【参考方案2】:在代码中创建属性不会创建插座。你必须有两个的东西:代码中的属性和情节提要中的出口。确保您确实有从情节提要中的 UIViewController 到其视图中的 UIWebView 的出口。
阅读我书中关于网点的部分可能会对您有所帮助:
http://www.apeth.com/iOSBook/ch07.html#_outlet_connections
本书的这一部分讨论的是“笔尖”,但同样适用于“故事板”。
【讨论】:
我没有通过输入代码自己创建属性。我右键单击并拖动它。以上是关于iOS 中 Storyboard 创建的属性的主要内容,如果未能解决你的问题,请参考以下文章