網(wǎng)絡(luò)請求數(shù)據(jù)后霸琴,解析json數(shù)據(jù)酝惧,得到模型對象 使用Swift5.0焕梅,通過setValuesForKeys保存字典數(shù)據(jù)输吏,無法賦值
代碼如下:
無法賦值給到創(chuàng)建的屬性
原因:
在swift3中,編譯器自動推斷@objc色洞,換句話說戏锹,它自動添加@objc
在swift4中,編譯器不再自動推斷火诸,你必須顯式添加@objc
詳細說明:
1)在 Swift 4 中隱式 @objc 自動推斷只會發(fā)生在下面這種必須要使用 @objc 的情況:
1锦针,覆蓋父類的 Objective-C 方法
2,符合一個 Objective-C 的協(xié)議
2)大多數(shù)地方必須手工顯示地加上 @objc置蜀。
3)如果在類前加上 @objcMembers奈搜,那么它、它的子類盯荤、擴展里的方法都會隱式的加上 @objc馋吗。
4)如果在擴展(extension)前加上 @objc,那么該擴展里的方法都會隱式的加上 @objc廷雅。
5)如果在擴展(extension)前加上 @nonobjc耗美,那么該擴展里的方法都不會隱式的加上 @objc。