我不會在家裏這樣做,但我在工作。 (即反應像「你不應該想這樣做」不會洗。)Xcode:分享兩個目標之間的主要故事板
- 目標:恢復到一個共享的主要故事板的兩個目標。
- 症狀:網點似乎沒有連接。
- 已經嘗試過:
- 從設備
- 刪除應用程序做一個乾淨的構建
- 周圍的故事板XML戳(一切看起來如預期)
我繼承了一個有兩個目標的項目,每個目標都有自己的故事板。目標分享確切相同的代碼。第二個目標的故事板是從第一個目標中克隆出來的。它的差異很小:主要是背景圖片不同。 全部出口轉到相同代碼與第一個故事板中的相應出口一樣。 (AFAIK)
現在,第一個簡單的步驟是僅告訴第二個目標使用第一個目標的主要故事板。這發生在目標>常規>部署信息中。 (或者在應用程序的plist文件中,針對黑客)。適當的故事板是正在Copy Bundle Resources構建階段中複製。
但是,當應用程序運行時,在啓動屏幕消失之前(即加載主視圖),我們會崩潰並出現NSUnknownKeyException。對於兩個故事板中似乎都正確連接的插座。 (當然對同一個伊娃)
現在,期待這個工作馬上就要求太多了。很顯然,我必須在每個目標的基礎上處理不同的背景圖像。但是我不認爲基本理念爲什麼不可行的根本原因。如何繼續,歡迎提出建議。 (參考「星際迷航」集「Spock的大腦」只會第一次有趣。)
什麼是未知鍵?只要兩個目標中的類名相同,並且所有@IBOutlets都存在,它就可以工作。 – Paulw11
未知鍵實際上是ViewController的一個ivar的名稱,它在兩個故事板中都正確連接到IB中的插座。所以,正如我們三個人顯然認爲的那樣,它應該起作用。至少這給了我一些鼓勵,我不想嘗試一些不可能的事情。將繼續破解。 –
關鍵是「activityIndicator」,它是通過@IBOutlet連接到* Storyboard中的相應UI對象的實例變量的正確名稱。 (這個插座是按字母順序排列的,可能是運行時第一個嘗試連接的插座。)我刪除並重新建立了連接,但無濟於事。我已經覆蓋了setValue(_:forKey)並設置了一個斷點,無論如何發生了崩潰,並且在斷點處沒有停止。當我回到舊的故事板(幾乎在所有方面都一樣)時,一切都很好。神祕仍在繼續。 –