2016-06-08 160 views
5

the most common answer for this question對於SO是3歲,並且共同商定的解決方案(刪除DerivedData)不適用於我,所以我不得不重新問這個問題。xcode 7.3:無法插入新的插座連接並刪除DerivedData不工作

this is the problem i have, optically looks the same

我試圖拖動以創建爲我的tableview的出口。

如前所述,刪除DerivedData對我沒有幫助(但我可以看到它重新索引)。第二個最常見的答案是

刪除(清除參考,不刪除),然後加入 相應的文件(你要添加的出口類的文件) 其實就夠了。

編輯1我發現在取消選中後(在XCode 6.3.1中),我不得不等待 幾秒鐘,索引纔會出現並在項目 名稱框中完成。相反的方式。這增加了幾乎所有(但不是全部)案例中修復 問題的機會。

編輯2刪除引用意味着您不會完全刪除文件 ,而只是將其從項目中刪除(它仍存在於項目的 文件夾中,稍後將其添加)。

我不知道這是否仍然適用於Xcode的7.3,因爲我在故事板工作,並沒有任何的.h和.m文件刪除或移除引用。如果此建議在xcode 7.3中仍然有效,請問您可以告知在哪裏點擊?

其他的事情我都試過,沒有工作

  • 清潔工程
  • 重新啓動在終端的Xcode
  • defaults delete com.apple.dt.Xcode
  • 在終端:defaults write com.apple.dt.XCode IDEIndexDisable 0
  • 從頭
  • 重寫整個項目

幫兄弟出去?

+0

嗨@EICaptainv2.0,classname的確是ViewController。我沒有看到什麼是錯的... – swyx

+0

我發現有時創建一個空白行,你想創建IBOutlet幫助,或者你可以手動創建IBOutlet,然後在IB中從「新的引用插座」拖動到你的視圖控制器對象在左側面板中(您需要首先展開此面板,從當前隱藏的屏幕截圖開始)並進行連接。助理視圖往往有點不可思議 – Paulw11

+0

哦,並且爲了風格的緣故,在課程頂部創建所有屬性,而不是在某些函數的中間 – Paulw11

回答

3

我已經找到一種方法來重現系統這個錯誤在一個簡單的方式

  • 將蔚藍行的ViewController和離開提示裏面拖(「插入插座或OutletCollection):創建連接盒出現normaly

enter image description here

  • 現在點擊「連接」按鈕.... BUUM! 「無法插入新的出口連接

enter image description here

  • 最後嘗試做同樣的事情,但留下的阻力提示框

enter image description here

  • 點擊後「連接」你會發現現在一切正常!

    希望得到這個幫助!

+0

我做了相反的事情,它工作正常!不管怎麼說,還是要謝謝你! –

+0

點擊接受努力。也不能接受Paulw11的評論。 – swyx

11

嗨,未來xcode n00bs(我討厭當循環未被提問者關閉!),請參考@ Paulw11的評論。該固定對我來說

你只可以手動然後創建IBOutlet中的IB拖累 「新引用出路」在左 的版面您的視圖控制器對象(您需要先展開此面板,從你的 截圖當前隱藏)並進行連接。該 助手視圖往往是一個有點古怪

1

什麼工作對我來說 - 刪除類文件(這似乎是一個「基礎工程」文件夾)
- 創建默認的項目文件夾一個新的。

btw我試圖刪除派生的數據之前,它仍然存在相同的錯誤。

1

對我來說,簡單的解決方案是創建一個新的ViewController類,並將該類重新分配給故事板。然後,我可以像往常一樣通過點擊和拖動來使用IBOutlets。

我的問題似乎是由嘗試重命名類造成的。我用代碼重命名了該文件,並將其重新附加到故事板中。但是IBOutlets似乎遇到了類被重命名的問題。

0

如果這不起作用從故事板或筆尖拖動連接,您可以從Connections Inspector中執行此操作。點擊並拖動'New Referencing Outlet'上的'+'符號。

在xCode 7.3上爲我工作。

enter image description here

0

對我來說,這是另一個文件(HeaderCell.Swift),我已意外刪除但可以在編譯來源的一部分。 Xcode沒有顯示實際的問題,但錯誤地顯示「無法插入新的插座連接」(FooterCell.swift & FooterCell.xib)。 我恢復文件HeaderCell後。Swift,IBOutlet連接正常工作。

1

我嘗試了很多沒有好結果的選項,在最後,我打開終端和類型:

默認刪除com.apple.dt.XCode IDEIndexDisable

然後我重新啓動mac,並再次打開Xcode,它現在正在工作(這甚至解決自動完成問題)

+0

只爲我工作的解決方案!謝謝!! – Fernando

1

沒有上述解決方案爲我工作。 (刪除派生的數據,刪除目標類文件並重新添加它,創建一個新的目標類文件並複製和粘貼文本,重新啓動xcode,重新啓動mac,乾淨,乾淨的生成文件夾,或以我能想到的任何組合等)

最後,什麼做了工作,是添加一行到目標類(如print("dummy")),然後建立項目

我只能猜測爲什麼。我的猜測是,其他解決方案都沒有強制執行目標類文件的新編譯。不知何故xcode'知道'代碼改變了哪些類。順便說一句,添加一個空行或註釋行不起作用。 Xcode非常聰明,知道如果添加註釋或空行,則不需要新的編譯。它需要是可編譯的代碼。再次...只是一個猜測。也不知道爲什麼刪除派生的數據,乾淨和乾淨的生成文件夾不起作用。