一般手动解析的时候,代码以下:json
Foo *foo = [[Foo alloc] init];
foo.itemID = [dictionary objectForKey:@"id"];
foo.bar = [dictionary objectForKey:@"bar"];
foo.baz = [dictionary objectForKey:@"baz"];
foo.quz = [dictionary objectForKey:@"quz"];复制代码
手写的缺点显而易见缓存
若是要想实现自动转换的话,至少要有一下两点。安全
几点要求:函数
2. 将model解析成class info以后,将class info缓存到cache中。使用信号量保证缓存线程安全。性能
3. 类型的自动转换尝试,赋值时,会先根据value和property info的信息,会尝试转换成正确的形式,若是value没法转换成property类型,也要保证安全。spa