2011-02-01 36 views
0

我創建了一個自定義的myViewController類,它有默認的視圖,以及一個IBOutlet(topleftView)到子視圖。爲什麼我必須在自定義NIB/XIB中連接兩次IBOutlet?

我已經創建了一個自定義的NIB/XIB文件來加載這個myViewController.xib。在XIB文件中,我已經將文件所有者設置爲myViewController,並將UIViewController標識類設置爲myViewController。

我的問題是爲什麼我必須掛鉤並從子視圖中的IBOutlet繪製引用到文件所有者和界面生成器中的UIViewController?

只是試圖讓我的頭,因爲這是我第一次創建自定義NIB/XIB。我通常只是在MainWindow中做了所有的事情,但是我的應用程序變得太大了,所以我想分發一些東西。

如果我沒有這些IBOutlet的多個連接到同一個nib文件中的UIViewController和文件所有者,我會崩潰_EXC_BAD_ACCESS_錯誤。

回答

0

「裏面的XIB文件我已經在 文件所有者設置爲myViewController ......」

我不知道你在做什麼在這裏。我認爲這是問題所在。你在XIB的頂層有多少物品?它應該只是文件的所有者,第一響應者和視圖。如果在這裏有另一個控制器對象,那就是你的問題。擺脫它。

「......並設置 的身份的UIViewController類 myViewController以及」

這部分是正確的。要將自定義的UIViewController連接到XIB,請在「文件所有者」上打開時鐘,轉到「Identity Inspector」,然後在「Class」字段中查看「Class Identity」。將其設置爲'myViewController'(或任何你命名它)。

在這一點上,你應該從你的文件的所有者爲你設置的每個插座做一個ctrl拖動。

+0

謝謝。這是我的問題,也是我遇到EXC_BAD_ACCESS問題的原因。所以如果我有一個自定義視圖控制器類,我所要做的就是將它設置爲類身份檢查器中的文件所有者?我想我也必須在XIB和它下面的UIView中有UIViewCOntroller對象。在刪除XIB中的控制器並按照您所說的將UIView留在那裏之後,一切正常! – 2011-02-01 21:36:24

0

我的問題是,爲什麼我要掛鉤 並在子視圖既 文件所有者和的UIViewController在 接口建設者借鑑的 IBOutlet中的參考?

簡答:您不需要。只需將您的文件所有者的類設置爲您的UIViewController子類的類名稱即可。

相關問題