如何根据用户选择组合数组?

编码器221

我想看看用户选择了什么,例如书名及其相关章节

我做了这个

struct bookChpt {
    var book:[String] = []
    var chapter:[[Int]] = []
}

let chptSelected = [bookChpt(book:bookArr,chapter:chptArr)]

var bookArr:[String] = []
var chptArr:[[Int]] = []

我有这个 viewDidLoad()

if let bTitle = result.value(forKey: "bookTitle") as? String
{
    bookArr.append(bTitle)

}
if let cNo = result.value(forKey: "chpNo") as? [Int]
{
    chptArr.append(cNO)
}
print(chptSelected)

我得到这个

bookChpt(book:[“ Hobbit”,“ LOTR”],章节:[[3,5],4])

但我喜欢看这个

[“霍比特人”,3,5],[“ LOTR”,4]

文斯·奥沙利文(Vince O'Sullivan)

有两种可能性。您可以向该结构添加一个函数,以所需的方式显示其内容:

struct BookChapter {
    var book:[String] = []
    var chapter:[[Int]] = []

    func display() -> [[Any]] {
        var output = [[Any]]()
        for i in 0..<book.count {
            output.append([book[i], chapter[i]])
        }
        return output
    }
}

或者,您可以修改结构的结构以将书和章节包含为元组:

struct BookChapter {
    var book:[(String, [Int])]
}

再进一步,在任何您看到循环的地方(例如在上面的显示功能中),您也可以考虑使用map来实现相同的目的:

func display() -> Any {
    return book.enumerated().map { $0.element + " " + chapter[$0.offset].description }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据javascript中的索引组合数组?

来自分类Dev

如何获得改组数组的组合数?

来自分类Dev

如何使用输入表单组合数组

来自分类Dev

根据类别组合数组子类别的对象

来自分类Dev

如何在 PHP 中创建 .json 数组的组合数组?

来自分类Dev

根据用户选择动态更新组合框

来自分类Dev

如何计算组合数?

来自分类Dev

如何组合数字?

来自分类Dev

如何通过键组合数组中的值?

来自分类Dev

如何通过PHP组合数组[层次结构]

来自分类Dev

如何在php中递归组合数组

来自分类Dev

如何组合数组并显示在一张表中

来自分类Dev

PostgreSQL根据数组值的组合选择行

来自分类Dev

PostgreSQL根据数组值的组合选择行

来自分类Dev

用Java组合数组

来自分类Dev

系统地组合数组

来自分类Dev

组合数组键PHP

来自分类Dev

python逐项组合数组

来自分类Dev

使用ruby根据数组的第一个元素组合数组值

来自分类Dev

如何根据用户表单中两个单独组合框的选择过滤数据

来自分类Dev

如何根据用户输入进行复杂的数组组合?Java脚本

来自分类Dev

如何根据用户的选择选择词典?

来自分类Dev

根据用户在组合框中的选择进行表单更新

来自分类Dev

如何将复杂的JavaScript数组转换为组合数组并循环到表?

来自分类Dev

Java:成对组合数组中的元素

来自分类Dev

PHP组合数组并对其进行排序

来自分类Dev

循环并组合数组中的时间范围

来自分类Dev

组合数组并添加分数

来自分类Dev

生成组合数组PHP