Swift 向数组添加值以便在 UITableView 控制器中使用时出现问题

Swift Issue with adding value to array for use within UITableView Controller

对于为什么出现错误“无法下标 'inout [[String]]' 类型的值(又名 'inout Array>')感到困惑。在工作 table 视图中 class

(最初遵循 Jared Davidson 教程 https://www.youtube.com/watch?v=pR6dR-vVZeY

var secondArray = [SecondTable]()

let latest = ViewController().getArrayListLast()
var latestClass = latest.getFullClasses()

print(latestClass[0])

for i in 0...(latest.getAssetClasses().count)
{
    if SecondTable(secondTitle: latestClass[i]) != nil
    {
       secondArray = secondArray.append(SecondTable(secondTitle: latestClass[i]))
    }
}

append(_:) 是变异函数,它没有 return 任何东西。

现在你的代码又犯了 3 个错误。

  1. 正如@vadian 在评论中提到的那样,ViewController() 在使用情节提要时将永远无法工作。

  2. 它会给你 运行 time crash index out of bounds 因为你已经提供了 for 循环直到数组计数但它应该直到数组计数中较少的一个,所以它应该喜欢 for i in 0..<(latest.getAssetClasses().count)

  3. 您正在使用 SecondTable 的初始化创建两次对象以检查 nil 而不是您可以使用 if let.

    if let secondTable = SecondTable(secondTitle: latestClass[i]) {
       secondArray.append(secondTable)
    }