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 个错误。
正如@vadian 在评论中提到的那样,ViewController()
在使用情节提要时将永远无法工作。
它会给你 运行 time crash index out of bounds 因为你已经提供了 for 循环直到数组计数但它应该直到数组计数中较少的一个,所以它应该喜欢 for i in 0..<(latest.getAssetClasses().count)
您正在使用 SecondTable
的初始化创建两次对象以检查 nil 而不是您可以使用 if let
.
if let secondTable = SecondTable(secondTitle: latestClass[i]) {
secondArray.append(secondTable)
}
对于为什么出现错误“无法下标 '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 个错误。
正如@vadian 在评论中提到的那样,
ViewController()
在使用情节提要时将永远无法工作。它会给你 运行 time crash index out of bounds 因为你已经提供了 for 循环直到数组计数但它应该直到数组计数中较少的一个,所以它应该喜欢
for i in 0..<(latest.getAssetClasses().count)
您正在使用
SecondTable
的初始化创建两次对象以检查 nil 而不是您可以使用if let
.if let secondTable = SecondTable(secondTitle: latestClass[i]) { secondArray.append(secondTable) }