swift ?必须后跟调用、成员查找或下标

标签 swift

我想我正在查看一些过时的代码:

@IBAction func stockLevelDidChange(sender: AnyObject) {
        if var currentCell = sender as? UIView {
            while (true) {
                currentCell = currentCell.superview!;
                if let cell = currentCell as? ProductTableCell {
                    if let id = cell.productId? {
                        var newStockLevel:Int?;
                        if let stepper = sender as? UIStepper {
                            newStockLevel = Int(stepper.value);
                        }
                        else if let textfield = sender as? UITextField {
                            if let newValue = textfield.text.toInt()? {
                                newStockLevel = newValue;
                            }
                        }
                        if let level = newStockLevel {
                            products[id].4 = level;
                            cell.stockStepper.value = Double(level);
                            cell.stockField.text = String(level);
                        }
                    }
                break;
                }
            }
            displayStockTotal();
        }
    }

但是在函数的第一行我得到了“'?'必须后跟调用、成员查找或下标”(as 之后的问号)

这个错误是什么意思,这段代码对于 Swift 1.2 有何改变?

最佳答案

实际上 as? 都很好。问题是这一行:

if let id = cell.productId?

只需删除末尾的问号即可。这没有意义。

关于 swift ?必须后跟调用、成员查找或下标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28931384/

相关文章:

ios - Mac Catalyst 错误 : Cannot override 'paymentQueue' which has been marked unavailable

linux - Swift3 Linux vc Mac DispatchQueue

ios - Swift Instagram API 用户名未显示在标签上

swift - Swift 中的 AnyObject 和 Any

ios - Swift 4.2 使用联系人框架通过搜索栏搜索联系人

ios - Swift 无法导入 Obj-C 模块?

ios - 我如何获得这样的 View Controller ? (将其中一个滑开但仍能部分看到它)

swift - 如何在 Swift 中创建唯一对象列表数组

ios - 我如何与 JSON 中的 NSObject 交互?

ios - 如何删除tableView中的用户默认数据?