![](/img/trans.png)
[英]How to properly create a storyboard in xCode6 using Interface Builder and Swift
[英]swift - how to connect UI to code without using XCode interface builder?
因此,在Xcode Swift代碼中,您只需將UI組件拖到文本編輯器中,然后創建一個IBOutlet
如@IBOutlet weak var myLabel:UILabel
我的問題是:
謝謝,
這個相關問題回答了如何通過配置Xcode在不使用其故事板的情況下在Xcode中進行編程。
是的, IBOutlet
不做任何事情。 在Objective-C中,它定義為宏,並且在編譯時將不替換任何內容。 沒有特殊代碼。 另一方面,Interface Builder看到了這一點,並允許配置這些屬性的連接。 然后,在編譯時將哪個插座屬性連接到哪個對象的信息保存在nib文件中。 系統加載所有這些對象之后,它將逐步執行已保存的連接,並使用常規setValue:forKey:
機制將插座屬性設置為適當的對象。
如果您為其中一個網點實現了自定義設置器,並在其上設置了一個斷點,則可以看到這一點。
所有這些僅是支持Interface Builder所必需的。 如果不使用它,則不需要插座的概念-您只需在創建對象后保留對所需對象的引用即可。
同樣的事情也適用於IBAction
。 在Objective-C中,再次通過宏將其定義為無效。 界面生成器可以看到它們,並允許您在那里建立連接。 加載筆尖文件時,這些文件通過將addTarget:action:forControlEvents:
消息發送到此操作所連接的控件來進行連接。 如果您不使用IB,則可以自己發送此消息以建立連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.