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 创建的属性的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中传递上下文以将 Core Data 与 Storyboard 一起使用

IOS开发之国际化篇第三章:故事版文本国际化

iOS程序启动流程(留有问题)

iOS开发中xib和Storyboard中需要注意的事项

从 Storyboard iOS 导出或打印自动布局约束

iOS 为iPhone和iPad创建不同的storyboard