[fix]use setValue:forKey replace call setter
[add]add convert cache