2015-04-01 175 views
0

我已經爲視圖控制器創建了文件AViewController.h和AViewController.m - 我已將此視圖控制器的自定義類設置爲AViewController無法將連接器從IBOutlet鏈接到視圖控制器

我在AViewController.h定義的對象,這是另一個B類作爲一個實例:

@property (weak, nonatomic) IBOutlet B *object_b; 

我希望能夠給此IBOutlet中鏈接到視圖控制器,這樣我可以使用它調用B類的函數在視圖控制器上顯示事物。但是,我無法做到這一點 - 試圖將一行從對象拖到視圖控制器什麼都不做。對象旁邊沒有錯誤或黃色警告符號。我試圖從視圖控制器到對象,並從故事板的菜單嘗試了這一點。

我的視圖控制器應該重命名爲'AViewController'?我有其他視圖控制器名稱不同於他們的自定義類,他們沒有任何鏈接問題。

我試圖解決方案: XCode 6: can't connect any IBOutlet to ViewControllerError in Xcode 6 - view controller does not have an outlet named (subview), 但他們沒有工作。

我正在使用XCode 6.2

這是一個非常惱人的問題;在前面的問題中有一些關於錯誤報告的討論,但我不確定它是否被解決。感謝任何幫助!

+1

您不能從一個控制器到另一個IBOutlets,如果這是你想要做什麼。 – rdelmar 2015-04-01 01:41:11

回答

1

只要你的班級「B」不是視圖控制器,這應該很容易。第一步是去你的故事板或相關的.xib文件,並找到對應於「AViewController」的視圖控制器。然後,找到裏面有白色方塊的小黃圈(視圖控制器的頂部),並控制並點擊它。你應該看到一個黑框彈出。 (見附圖)。在框中,應該有一個名爲「Outlets」的部分。你在下面看到與你的「B」對象有關的線嗎?如果是,則從該行右側的白色圓圈拖到代表視圖控制器上「B」類的對象。這將把它連接起來。

如果您在黑盒中沒有「B」項,那麼視圖控制器的設置有問題。

如果您在黑盒中有「B」項,但無法將其連接到視圖控制器,請執行以下步驟:確保您的視圖控制器上有一個「B」級對象在故事板中。如果你不這樣做,那就是你的問題。如果你這樣做了,但你仍然無法實現它,你可能需要在故事板中設置對象的類類型。爲此,請單擊故事板上的對象,然後在xcode的右側面板中查看(以下屏幕截圖#2)。在面板中,點擊第三個圖標(它看起來像一個小方塊)。在那裏你會看到一些說「自定義班級」的東西。如果在「課堂」下,它不會說「B」,那麼這就是你的問題。如果這是您的問題,請將課程設置爲「B」,然後嘗試使用我答案第一段中列出的步驟重新連接插座。

enter image description here

enter image description here

+0

感謝您的詳細回覆,Brian!我確實在黑盒中有'B'的條目,但無法連接它 - 所以我點擊了我想連接的對象(ViewController上的UIImageView),並將其自定義類更改爲B.(To能夠在自定義類下拉列表中看到類B,我首先必須將類B的繼承從UIView更改爲UIImageView)。經過這一步後,鏈接工作正常! – 2015-04-02 03:19:40

+0

我現在想要將在類B中定義的名爲image的UIImageView的另一個對象鏈接到ViewController上的相同UIImageView。我無法使用相同的方法做到這一點。我想這是因爲,ViewController上的UIImageView現在是自定義類B,而對象圖像是UIImageView的一個實例。我試圖通過將UIImageView的自定義類更改爲UIImageView來欺騙xcode;這樣做不僅給我一個例外,而且我也看不到黑盒子裏的對象'圖像'了。有什麼建議麼? – 2015-04-02 03:29:11

+0

太棒了,很高興它的工作。對於你的其他問題,我會創建一個關於堆棧溢出的新問題,幷包含一個指向這個問題的鏈接。然後我可以幫你回答。按規則玩耍。 :-) – 2015-04-02 09:16:04

相關問題