ios – 保存和检索UIColors到Core Data的最佳方式

我可以想到几种方法,例如将每个颜色组件保存为float,将数组保存为可变形.从模式图像保存颜色可能会稍微复杂一点,但我想可以将图像的名称保存为字符串,并将其插入到创建代码中.

我在正确的轨道上,否则一般来说,这个任务最好还是最有效率?

解决方法

您可以将UIColor转换为NSData,然后存储它:
NSData *theData = [NSKeyedArchiver archivedDataWithRootObject:[UIColor blackColor]];

那么您可以将其转换回您的UIColor对象:

UIColor *theColor = (UIColor *)[NSKeyedUnarchiver unarchiveObjectWithData:theData];

UPD:

在有关存储数据的评论中回答您的问题,最简单的方法是将其存储在NSUserDefaults中:

NSData *theData = [NSKeyedArchiver archivedDataWithRootObject:[UIColor blackColor]];
[[NSUserDefaults standardUserDefaults] setObject:theData forKey:@"myColor"];

然后发现它:

NSData *theData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myColor"];
UIColor *theColor = (UIColor *)[NSKeyedUnarchiver unarchiveObjectWithData:theData];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...