gpt4 book ai didi

ios - 无法下标 'inout [MenuItem]' 类型的值(又名 'inout Array' )

转载 作者:行者123 更新时间:2023-11-28 12:35:49 27 4
gpt4 key购买 nike

我的 TableViewController 类中有这个奇怪的错误消息

class MenuTableViewController: UITableViewController {
fileprivate var menuItems = [MenuItem]()

override func viewDidLoad() {
super.viewDidLoad()

self.tableView.register(UINib(nibName: "MenuItemTableViewCell", bundle: nil), forCellReuseIdentifier: CELL_MENU_ITEM)
}

// MARK: - Table view data source

override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return menuItems.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: CELL_MENU_ITEM, for: indexPath) as! MenuItemTableViewCell

// this line throws the error message
if let menuItem = self.menuItems[indexPath.row].getTitle() as [MenuItem] {
cell.itemTitleLabel.text = menuItem
}


return cell
}

func setMenuItems(menuItems: [MenuItem]) {
self.menuItems = menuItems
}
}

我完全不知道那个错误是什么意思。还有其他人在使用 inout 类型时面临这个问题,但他们使用“=”而不是“==”和类似的东西来做错误。顺便说一句,menuItems 的值在完成函数的另一个类中设置。但是,如果我从那里删除它,我仍然会收到此错误。

最佳答案

由于 menuItems 被声明为具体的非可选 类型,因此不需要类型转换或可选绑定(bind)。

let menuItem = self.menuItems[indexPath.row]
cell.itemTitleLabel.text = menuItem.getTitle()

错误消息可能具有误导性。您正在尝试将(假定的)String 转换为 [MenuItem]

关于ios - 无法下标 'inout [MenuItem]' 类型的值(又名 'inout Array<MenuItem>' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40972488/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com