基本上,我的問題正如它在標題中所說的那樣。當我嘗試編碼UIViewController
的子類時,調用[super encodeWithCoder]
給出NSInvalidArgumentException
。具體來說,我得到-[UIImage encodeWithCoder:]: unrecognized selector sent to instance XxXXXXXX
。UIViewController encodeWithCoder在視圖中包含帶有自定義圖像的UIButton時失敗
視圖中的唯一圖像圖像位於UIButton
上,該圖像也應該符合NSCoding,並且堆棧跟蹤包括對[UIBUtton encodeWithCoder]
的調用。該按鈕是使用[UIButton buttonWithType:UIButtonTypeCustom]
以編程方式創建的,並且該圖像是使用setImage: forState:
設置的。我真的不知道這裏發生了什麼。我是否缺少明顯的東西,還是UIButton
只是不符合NSCoding
?
所以基本上,符合NSCoding並不實際意味着Apple所說的含義。感謝您的鏈接,我搜索了但我沒有遇到過。 –
這意味着它說什麼,它只是沒有說出你的想法。例如,一個NSCoding類可能支持密鑰存檔,或經典存檔,或兩者都支持,或者都不支持。沒有保證。 – benzado