arrays - Swift:如何定义固定数组灵活的String数组

标签 arrays swift multidimensional-array indexing enums

我已经有几个字符串数组。我想将它们添加到数组列表中,这样我就可以使用预定义的(枚举)索引。各个数组已经就位,我只需要通过索引访问它们(用枚举固定或在枚举类型的索引循环中)。因此数组中不应有字符串的副本,只有对数组本身的引用。

我已经想到了:

enum TypeOfArray: Int {
        case Src = 0, Dest, SrcCache, DstCache, N
    }

    var srcFolders : [String] = [] 
    var dstFolders : [String] = []
    var srcFoldersCache : [String] = [] 
    var dstFoldersCache : [String] = []

    var allFolders: [[String]] = []

然后我想通过分配每个单独的数组来初始化主数组。但这被编译器拒绝了:(“无法使用索引类型为‘TypeArray’的类型为‘[[String]]’的值下标”)

allFolders[TypeOfArray.Src] = srcFolders

我不知道这个“typesave”索引是否可行。 在定义优化内存或速度时,我可以使用固定索引范围 0..N 吗? 有什么想法吗?

最佳答案

字典将是一个很好的解决方案:

var dict = [TypeOfArray:[String]]()
dict[TypeOfArray.Src] = srcFolders

关于arrays - Swift:如何定义固定数组灵活的String数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39243965/

相关文章:

java - 使用for循环将三个一维合并为一个多维数组

arrays - 如果数组被展平,我如何知道多维数组中项目的索引是什么?

ios - 从自定义 UitableViewCell 中保存 textField.text

python - 使用 Tensorflow 进行预处理的 3D 卷积

JavaScript |创建更改数组中值的间隔

javascript - 在knockoutJS中绑定(bind)到可观察数组的问题

ios - dynamodb,MobileHub 不工作

ios - JSONDecoder 和 JSONEncoder 类是线程安全的吗?

java - java 中 3x3 多维数组的大 O 表示法是什么?

php - 数组 : 4th dimension, isset 返回不可靠