model设置属性的封装(存取文件数据,为cell传数据)
来源:互联网 发布:ubuntu 列出所有用户 编辑:程序博客网 时间:2024/05/18 08:54
构建步骤:
1.获取到映射字典
2.找到set方法
//3 赋值
//// BaseModel.m// WXMovie//// Created by mac on 16/7/22.// Copyright © 2016年 huang. All rights reserved.//#import "BaseModel.h"@implementation BaseModel- (NSMutableDictionary *) _buildRelationShip:(NSDictionary *)dic { NSArray *allKeys = [dic allKeys]; NSMutableDictionary *mutableDic = [NSMutableDictionary dictionary]; for (NSString *key in allKeys) { if ([key isEqualToString:@"id"]) { //获取该类的字符串 NSString *className = NSStringFromClass([self class]); NSString *newString = [NSString stringWithFormat:@"%@Id",className ]; [mutableDic setObject:newString forKey:@"id"]; }else if ([key isEqualToString:@"release"]){ //获取该类的字符串 NSString *className = NSStringFromClass([self class]); NSString *newString = [NSString stringWithFormat:@"%@Release",className ]; [mutableDic setObject:newString forKey:@"release"]; } else{ [mutableDic setObject:key forKey:key]; } } return mutableDic;}- (SEL) _findSetterMethod: (NSString *) name {// //1 取首字母 R NSString *firstLetter = [[name substringToIndex:1] uppercaseString];//// //2 截取剩下的字母 ating// NSString *lastLetter = [name substringFromIndex:1]; //拼接 setRating: NSString *setterName = [NSString stringWithFormat:@"set%@%@:",firstLetter,lastLetter]; //4 SEL SEL setter = NSSelectorFromString(setterName); return setter;}- (void) setValueForAttributesWithDictionary:(NSDictionary *) keydedValues { //1.获取到映射字典 NSMutableDictionary *relationDic = [self _buildRelationShip:keydedValues]; //2.找到set方法 NSArray *allKeys = [relationDic allKeys]; for (NSString *key in allKeys) { NSString *propertyName = [relationDic objectForKey:key]; SEL method = [self _findSetterMethod:propertyName]; //3 赋值 id value = [keydedValues objectForKey:key]; if ([self respondsToSelector:method]) { [self performSelector:method withObject:value]; } } }@end
0 0
- model设置属性的封装(存取文件数据,为cell传数据)
- 数据解析及model的封装
- CSV文件的存取(二维数据)
- AFNetworking 初始化model数据+自定义cell
- Ajax将数据封装为XML文件
- backbone+springMVC 前端后台保存model数据的属性值为null问题
- BFILE数据的存取
- 矩阵数据的存取
- NSUserDefaults 数据的存取
- Android的数据存取
- 数据成员的存取
- 数据的存取路径
- 大数据的存取
- numpy 数据的存取
- 大数据的存取
- json数据的存取
- 使用缓存文件存取数据
- jsp存取mysql中文数据结果为乱码的解决方法
- 我的第一家实习公司“嘉兴聚变科技有限公司”
- 5-14 电话聊天狂人
- Android的实现文字渐变效果和歌词进度的效果
- 从OpenCV源码学习cpp_const
- 一种跨域单点登录的解决办法
- model设置属性的封装(存取文件数据,为cell传数据)
- C语言0728
- 对Socket CAN的理解(1)——【CAN总线原理】
- Android 获取View的 left、right、top、buttom、以及x、y坐标的方法
- 对Socket CAN的理解(2)——【Socket的原理及使用】
- 类型转换
- 等比数列二分求模
- Android/iOS轻量级存储(账号密码等)
- 对Socket CAN的理解(3)——【Socket CAN发送数据流程】