在运动中的Nano Store中存储UIImage

时间:2013-08-09 12:52:00

标签: rubymotion

我一直在阅读关于Nano Store in Motion的内容,似乎我无法在其数据库中存储图像。我已经阅读了很多在NSDictionary中存储图像,然后将其存储在Nano中。这是否有效,如果是这样,你如何在NSDictionary函数中存储图像。

2 个答案:

答案 0 :(得分:0)

这可能是有益的:

How can I store a UIImage in an NSDictionary?

RubyMotion-源化:

dict = NSMutableDictionary.dictionaryWithCapacity(1)
img = UIImage.imageNamed("whatever")
dict["some_key"] = img
extracted_image = dict["some_key"]

答案 1 :(得分:0)

您需要使用“可序列化”值:

  来自https://github.com/tciuro/NanoStore

     

字典必须是可序列化的,这意味着只允许以下数据类型:

     
      
  • 的NSArray
  •   
  • 的NSDictionary
  •   
  • 的NSString
  •   
  • NSData(*)
  •   
  • 的NSDate
  •   
  • 的NSNumber
  •   

因此,在您的情况下,您可以创建PNG数据表示:

data = UIImagePNGRepresentation(image)

如果需要,您可以将这些数据存储在Hash中,但在使用之前,您需要将其转换回UIImage。

image = UIImage.imageWithData(self, scale:UIScreen.mainScreen.scale)