首先有一個基類被稱爲BaseModel陣列,下面是代碼:如何獲得元件類型中迅速
class BaseModel : NSObject
{
var code:Int?
var message:Any?
public func setDictionaryToAttributes(dictionary_is dictionary:Dictionary<String,Any>?)->Bool
{
guard let dic:Dictionary<String,Any> = dictionary else {return false}
for (key,value) in dic {
let someType = type(of: value)
debugPrint("\(String(describing: someType.self))")
debugPrint("\(String(describing: someType))")
if someType is Array<Any>.Type { //i can't get TestListItemModel string
debugPrint("\(String(describing: someType))")
}
}
self.setValuesForKeys(dic)
return true;
}
}//class BaseModel end
並且存在從BaseModel
class TestListModel: BaseModel {
var tatalink:Any?
var items:Array<TestListItemModel>?
func setValuesFrom(jsonData j:JSON) { //j is a swifyJson object
guard var dic = j.dictionaryObject else {return}
if self.setDictionaryToAttributes(dictionary_is: dic)==false {
return
}
}
}
繼承另一個類
TestListModel中有子類的TestListItemModel類
class TestListItemModel:BaseModel {
var imgurl: Any?
var title: Any?
}
問題是: 我想從json數據自動解析BaseModel類中的所有屬性值。 in func analysetDictionaryToAttributes:我可以找到哪一個是Array,但我不知道如何獲取此類型並繼續調用它的analysetDictionaryToAttributes func。
聲明你的字符串爲任何對象。 – KKRocks
好吧,我會爲任何對象做到這一點,但我仍然無法得到xxxType陣列 –
xuanwenchao
@KKRocks真誠地感謝您的回答,我在網上搜索了很長時間。但沒用。請幫助或嘗試提供一些想法如何實現這一點。 – xuanwenchao