我可以想到几种方法,例如将每个颜色组件保存为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];