core data UIColor转换为 自定义数据类型 (其他类型数据 转换同理)

转载说明:(谢谢)

http://blog.csdn.net/a21064346/article/details/7792074

点击打开链接

不好意思,因为上传这段代码之后,就忙着写项目,当时也没有注意到代码不好复制什么的。

现在过来补充说明一下:下面这个其实就是自己去 写一个NSValueTransformer的类

它的思想是 将coredata关键字的属性 设置为tansformable的type,这样你才好用其他格式的来进行替换

装载它的容器 是一个NSData的数据格式。下面是例子

对于其他类型的数据,你也可以这样用。比如 数组类型的数据。

#import <Foundation/Foundation.h>

[csharp]  view plain copy
  1. @interface UIColorRGBValueTransformer : NSValueTransformer  
  2.   
  3. @end  
  4.  
  5.  
  6. #import "UIColorRGBValueTransformer.h"  
  7.   
  8. @implementation UIColorRGBValueTransformer  
  9.   
  10. + (Class)transformedValueClass  
  11. {  
  12.     return [NSData class];  
  13. }  
  14.   
  15. + (BOOL)allowsReverseTransformation  
  16. {  
  17.     return YES;  
  18. }  
  19.   
  20. - (id)transformedValue:(id)value  
  21. {  
  22.     UIColor* color = value;  
  23.     const CGFloat* components = CGColorGetComponents(color.CGColor);  
  24.     NSString* colorAsString = [NSString stringWithFormat:@"%f,%f,%f,%f", components[0], components[1], components[2], components[3]];  
  25.     return [colorAsString dataUsingEncoding:NSUTF8StringEncoding];  
  26. }  
  27.   
  28. - (id)reverseTransformedValue:(id)value  
  29. {  
  30.     NSString* colorAsString = [[[NSString alloc] initWithData:value encoding:NSUTF8StringEncoding] autorelease];  
  31.     NSArray* components = [colorAsString componentsSeparatedByString:@","];  
  32.     CGFloat r = [[components objectAtIndex:0] floatValue];  
  33.     CGFloat g = [[components objectAtIndex:1] floatValue];  
  34.     CGFloat b = [[components objectAtIndex:2] floatValue];  
  35.     CGFloat a = [[components objectAtIndex:3] floatValue];  
  36.   
  37.     return [UIColor colorWithRed:r green:g blue:b alpha:a];  
  38. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用UITableViewDelegate和UITableViewDataSource中的方法来设置表格的样式和数据,以下是一些常见的设置: 1. 设置表格背景颜色: ```swift tableView.backgroundColor = UIColor.white //设置表格背景色为白色 ``` 2. 设置表格中的文字颜色和字体: ```swift func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) cell.textLabel?.textColor = UIColor.black //设置文字颜色为黑色 cell.textLabel?.font = UIFont.systemFont(ofSize: 14) //设置文字字体为系统字体,大小为14 return cell } ``` 3. 设置选中单元格的背景颜色: ```swift func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let cell = tableView.cellForRow(at: indexPath) cell?.selectedBackgroundView = UIView() cell?.selectedBackgroundView?.backgroundColor = UIColor.gray //设置选中单元格的背景色为灰色 } ``` 4. 设置表格边框颜色和宽度: ```swift tableView.layer.borderColor = UIColor.gray.cgColor //设置表格边框颜色为灰色 tableView.layer.borderWidth = 1.0 //设置表格边框宽度为1像素 ``` 5. 设置表格头部和尾部的高度和视图: ```swift func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { return 30 //设置表格头部高度为30像素 } func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let headerView = UIView() headerView.backgroundColor = UIColor.gray //设置表格头部视图的背景色为灰色 return headerView } func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return 20 //设置表格尾部高度为20像素 } func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { let footerView = UIView() footerView.backgroundColor = UIColor.lightGray //设置表格尾部视图的背景色为浅灰色 return footerView } ``` 希望这些代码能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值