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

将域字符串列表转换为Swift中的字符串数组,swift,xcode,realm,Swift,Xcode,Realm,我刚刚开始使用RealmSwift,我正在尝试在Realm中存储一个字符串数组。它不起作用,所以现在我使用List()作为替代方法。但是,如何再次将这些领域列表转换回[String]?如果我做不到,还有其他选择吗 感谢请记住,通过转换为数组,您将失去域集合的“动态”质量(即,您将收到一个静态数组,而保留原始列表将在源更改时提供自动更新)。但您可以使用扩展创建数组,例如:- extension RealmCollection { func toArray<T>() ->[T]

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


感谢

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

extension RealmCollection
{
  func toArray<T>() ->[T]
  {
    return self.compactMap{$0 as? T}
  }
}
其中,
object
是领域对象,
strings
是您的字段

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

您可以简单地将
List
强制转换为
Array
,因为
List
具有:

let list=list()
让数组=数组(列表)

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

jim.dogs.append(objectsIn: someDogs)

非常感谢。我更愿意保留列表,但它不起作用,所以不幸的是,这是我必须要做的。这个字符串数组是字典中的值,它不允许我有一个类型为
[Int:list]
的字典,这听起来几乎像是一个可建模类型。也许它可以表示为一个对象数组,带有一个int id和字符串列表。在不了解更多问题的情况下很难猜测。我建议你把这个标记为答案,并考虑问另一个关于这个模型的问题(或者继续进行)。@ Gargo,这意味着什么?什么不起作用?你说的是什么“自定义类”,这与这个问题有什么关系?你能展示一下你尝试过的代码并包含你正在使用的领域对象吗?可能有很多答案,这些答案可能是正确的,也可能是不正确的,这取决于您的用例,所以为了准确地回答,您可以描述您正在尝试做什么。另外,请花一点时间回顾一下。更新您的问题,包括您的代码,我们将进行查看。
let list = List<String>()
let array = Array(list)
jim.dogs.append(objectsIn: someDogs)