如何解决“调用位置的额外参数”是什么意思?
我有一个字符串 - “productRaw”,我将其拆分以显示在单独的 sectionData
单元格中,同时在同一个“Item 1”cellData
表视图下。这是我用来拆分字符串并将每个单独的部分添加到单独的 sectionData
单元格中的代码。
let group_array = document["product"] as? [String] ?? [""]
let productName1 = group_array.first ?? "No data to display :("
let productRaw = "\(productName1)"
let componentsRaw = productRaw.components(separatedBy: ",")
var product = [String: String]()
for component in componentsRaw {
let keyval = component.components(separatedBy: ": ")
product[keyval[0]] = keyval[1]
}
if let productName = product["Product Name"],let listingPrice = product["Listing Price"],let briefDescription = product["A brief description"],let productURL = product["Product URL"],let activeUntil = product["Listing active until"] {
self.tableViewData = [cellData(opened: false,title: "Item 1",sectionData: [productName],[listingPrice],[briefDescription],[productURL],[activeUntil])]
}
我在哪里声明我想在第一部分显示的单个单元格 - “项目 1”,当我只在我的 [productName]
中使用 sectionData
时,编译没有任何问题。但是,当我还将 ,[activeUntil]
添加到我的 sectionData
时,我收到 [cellData(opened:
语法的以下错误。
调用中#4、#5、#6、#7位置的额外参数
解决方法
如果没有看到 cellData
的声明,很难知道出了什么问题,但是据我所知,最明显的原因是,cellData
的构造函数只需要 3 个参数而不是 7 个.
在 this answer 中,他们还提到,如果您没有为每个参数传递正确的类型,则可能会引发此错误。
如果给定 cellData
当我在 sectionData 中只使用 [productName] 时,它会编译
[productName]
是一个包含一项的数组。
我还将 [listingPrice]、[briefDescription]、[productURL]、[activeUntil] 添加到我的 sectionData
您添加了额外的数组,以逗号分隔,编译器将其解释为额外的函数参数。
self.tableViewData = [cellData(opened: false,title: "Item 1",sectionData: [productName,listingPrice,briefDescription,productURL,activeUntil])]
将所有项目放在一组方括号内。这就是声明包含多个项目的数组的方式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。