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

标签 iphone arrays sqlite

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

因此我想到使用单个 VARCHAR 类型字段,并在数组的每个对象之间添加特殊字符。这对性能有何影响?还有更好的想法吗?

最佳答案

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

  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

解码将非常相似

关于iphone - 在 SQLite 中保存数组的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9534867/

相关文章:

android - 如何使用电话间隙访问数据库

javascript - 在 JavaScript 中操作数组

iPhone 以编程方式实例化 UITabBarItem

ios - 是否可以以编程方式更新 UIButton 标题/文本?

ios - 如何在不使用本地通知的情况下将 IOS 应用程序从后台带到前台?

python - 使用 numpy magic 避免三重嵌套 for 循环

ios - 在 Swift 中循环遍历嵌入式 JSON 数组?

java - Android 中如何统计按钮点击次数

sql - 简单的 SQLite 表/导入问题

iphone - 如何添加外部框架GPUImage框架?