如何在 init 方法中從 NIB 加載 IBOutlets? (How to load the IBOutlets from NIB in the the init method?)


問題描述

如何在 init 方法中從 NIB 加載 IBOutlets? (How to load the IBOutlets from NIB in the the init method?)

I need access to the IBOutlets in my initWithNibName method of my UIViewController, but they are all nil as they haven't been instantiated yet. Is there a way to instantiate them? I have read that is not safe to call ‑loadView as it will cause memory leaks. So please tell me if there is any solution.

‑‑‑‑‑

參考解法

方法 1:

Generaly it's not possible, your try to access things that don't even exist in this moment. Why wouldn't you use viewWillAppear() method in this controller? I think it's all that you need. Give us sample of code or something more to work on.

(by CosminSebastian Łuczak)

參考文件

  1. How to load the IBOutlets from NIB in the the init method? (CC BY‑SA 3.0/4.0)

#iboutlet #iOS #uiviewcontroller #nib






相關問題

iOS - IB 視圖模式 (iOS - IB view mode)

NSWindow 的 IBOutlet 組件什麼時候初始化? (When IBOutlet components of NSWindow are initialized?)

收到內存警告和內存洩漏 (Receive memory warning and memory leak)

如何在 init 方法中從 NIB 加載 IBOutlets? (How to load the IBOutlets from NIB in the the init method?)

將 xib 從一個項目複製到另一個項目 (copy the xib from one project to another project)

將案例編碼到 appDelegate 文件中 (The case(s) coding into appDelegate file)

nib 中的 UIView 在 iPad 上是 nil,在 iPhone 上不是 nil (UIView in nib is nil on iPad, and not nil on iPhone)

awakeFromNib 無法從 UILabel 獲取值,也無法禁用 UIButton (awakeFromNib can't get value from UILabel and can't disable UIButton)

“找不到名為 ViewController 的類的任何信息” ("Could not find any information for class named ViewController")

在 Xcode 7 中將出口從文件連接到情節提要 (Connect outlet from file to storyboard in Xcode 7)

為什麼“文件所有者”有時會有“視圖”出口?我可以添加我自己的嗎? (Why does "File's Owner" sometimes have a "view" outlet? Can I add my own?)

Interface Builder 中的 IBOutletCollection 集排序 (IBOutletCollection set ordering in Interface Builder)







留言討論