使用@IBDesignable上課的時候,我突然有一種奇怪的和可重複的錯誤,@IBInspectable屬性賦予以下警告:@IBDesignable - @IBInspectable,類不是鍵值編碼兼容
主。故事板:警告:IB Designables:忽略用戶定義的關鍵路徑「runtime」的運行時屬性對「UIButton」實例。嘗試設置其值時發生異常:[setValue:forUndefinedKey:]:此類不是密鑰測試的密鑰值編碼。
要清楚這個警告只是Xcode的一個問題,它包裝很好。仍然很煩人!
步驟來重現
- 創建新項目
創建自定義@IBDesignable的UIButton亞類中,有@IBInspectable String屬性:
import UIKit @IBDesignable class TempButton: UIButton { @IBInspectable var test:String = "" }
- 將一個按鈕拖到故事板中的視圖控制器中,並在Identity Inspector中爲其指定自定義類「TempButton」。
- 現在'Test'屬性應該出現在'Temp Button'屬性的屬性檢查器中 - 在該字段中輸入任何內容。
- Bam!出現上述警告。從字段中刪除文本,並且警告消失。
我已經嘗試了幾種解決方案 - 不同的變量名,使「測試」財產可選的,使用一個初始化,至今沒有運氣。
這是問題的一個屏幕截圖:
非常有趣,我不能重現這個問題。我確實如你所說。沒有警告。你使用的是什麼版本的Xcode?你是否記得先建立應用程序?您是否嘗試重新啓動計算機(有助於在頭部側面碰撞Xcode)? – matt
我在頭部側面砸了Xcode(即重新啓動!),並且我已經在當前版本的Xcode(7.0.1)和beta(7.1 beta 3)上嘗試過了,沒有運氣。感謝您的關注,有趣的是這不會發生在您身上。 –
已添加屏幕截圖以幫助診斷問題,如果其他人無法複製。 –