在Swift中将字符串的领域列表转换为字符串数组

时间:2019-06-06 23:26:04

标签: swift xcode realm

我刚开始使用RealmSwift,并且试图在Realm中存储字符串数组。它不起作用,所以现在我使用List<String>()作为替代。但是,如何再次将这些领域列表转换回[String]?如果我做不到,还有其他选择吗?

谢谢

3 个答案:

答案 0 :(得分:0)

请记住,通过转换为数组,您将失去Realm集合的“动态”质量(即,您将收到静态数组,而保留原始List将在源更改时提供自动更新)。但是您可以使用扩展名来创建数组,例如:-

extension RealmCollection
{
  func toArray<T>() ->[T]
  {
    return self.compactMap{$0 as? T}
  }
}

然后使用:-

let stringList = object.strings.toArray()

object是领域对象,strings是您的字段。

答案 1 :(得分:0)

  

但是,如何再次将这些领域列表转换回[String]

您可以将List强制转换为Array,因为List具有Sequence Support

let list = List<String>()
let array = Array(list)

答案 2 :(得分:0)

这是详细信息。如何在领域列表模型中分配数组。

jim.dogs.append(objectsIn: someDogs)