Dictionify 旨在通过简单步骤将对象转换为字典。通过使用 Dictionify,您无需为每个类编写乏味的代码,例如
dictionary["myPropertyA"] = self.myPropertyA
dictionary["myPropertyB"] = self.myPropertyB
. . .
(或通过覆盖 decode/encode(withCoder))
当您 subclasses Dictionify 并将属性标记为“dynamic”时,您可以使用 toDictionary() 函数调用获取包含您类中所有属性字典。此外,我们允许您使用字典初始化对象。甚至更多,Dictionify 可以识别字典中的属性,这些属性也是 Dictionify subclasses(Included in an Array),实例化它们并将它们放回正确的位置。例如
class Person :Dictionify {
dynamic var name :String
dynamic var likedBook :[Book]
init(name:String){
self.name = name
likedBook = []
}
}
class Book :Dictionify{
dynamic var name :String
dynamic var content :String
}
var ben = Person(name:Ben)
var book = Book("I love",content:"Bla Bla Bla...")
ben.likedBook = [book]
var benDict = ben.toDictionary(withClassName: true) /// when with class name, Dictionify can instantiate archived property with proper class.
var anotherBen = Person(benDict)
var anotherBook = anotherBen.likedBook.first
要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install
iOS 9.0
Dictionify 通过 CocoaPods 提供。要安装它,请将以下行添加到您的 Podfile
pod "Dictionify"
matthewlui, [email protected]
Dictionify 以 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。