繁体   English   中英

在SQLite中保存数组的最佳方法是什么?

[英]What would be the best way to save arrays in SQLite?

我正在尝试将数组添加到iPhone上的SQLite数据库中。 问题是,我不知道用户想要使用多少个数组对象。 它可能是1,它可能是10.如果我在SQLite表中分配了10个字段,那么如果用户要使用一个字段就会有9个字段,并且它会将上限设置为10个条目。

因此,我想到使用单个VARCHAR类型字段,并在每个对象之间添加特殊字符的数组的每个对象。 这将如何表现明智? 有更好的想法吗?

我的猜测是使用NSCoder框架。 由于NSArray符合NSCoding协议,因此序列化已经完成:

  NSMutableData *data = [[NSMutableData alloc] init];
  NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
  [archiver encodeObject:myArray forKey:myArchiveKey];
  [archiver finishEncoding];
  [archiver release];

  // write here data object to a BLOB field of your SQLite db

解码将非常相似

您可以将它们保存为OBJECT列。

您可以将数组条目存储为行。

您可以将数组保存为json对象格式,同时检索将json对象转换为数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM