2017-09-03 21 views
2

我試圖按照來自B.A的Learning Swift書(創建筆記應用程序)的說明操作。 Paris & Co,但是遇到以下綁定問題。我主要在練習iOS編程,所以綁定概念對我來說是新的。OSX中的綁定:class不是鍵值編碼兼容的關鍵字{name of binding var}

步驟I製成(嘗試都xcode的9測試版5和8.3.3):

  1. 創建OSX可可應用程序(不使用故事板,基於文檔的應用程序 - 對,文件擴展名 「試驗」,別T選用核心數據)
  2. 添加「變種文字= NSAttributedString()」,以Document.swift
  3. 添加NSTextView到Document.xib
  4. 在NSTextView設置的綁定檢查「屬性串」到文件的擁有者「的自我。文字「(型號關鍵路徑)

而且我看到感嘆號與概念「的Xcode無法解決進入關鍵路徑」 構建是成功的,但是當我運行它說:「2017年9月3日22:17:40.739643 + 0200 TEST3 [6017: 424072] [< test3.Document 0x6180000c3410> valueForUndefinedKey:]:此類不是密鑰值的密鑰文本兼容的編碼,「

我試圖從廈門國際銀行斯威夫特調速拖動,就警告說,「Xcode中無法找到。當前工作空間中的類文檔「。

我試圖轉換到工作區而不是proj,檢查文件的所有者,檢查與錯誤相關的stackoverflow線程 - 但他們主要關心一些連接錯誤或非實際連接(我可以刪除連接,我知道什麼是錯誤的,問題是如何使它正確)。到目前爲止找不到解決方案。

在此先感謝

+0

我也試圖檢查「繼承模塊從目標」,並在文件的所有者明確選擇模塊識別檢查 – Andrey

回答

3

你需要聲明text屬性與@objc屬性,使其通過類似鍵值編碼動態分配訪問。

另外,因爲您希望通過鍵值觀察(對於綁定)來觀察對屬性的修改,所以您需要告訴Swift始終動態地發送修改。所以,你需要使用dynamic修改的聲明,也:

@objc dynamic var text = NSAttributedString() 
+0

作品,謝謝:) –

相關問題