Swift-如何使用becomeFirstResponder跳到顶部



以下是我想做的,当我点击我的button时,我想跳到顶部,但当我点击button时,我的应用程序崩溃了。

@IBAction func addToCart(_ sender: UIButton) {
if quantitylbl.text == "0" {
dismiss(animated: true)
}
// Save in to userdefault
let section = sender.tag / 100
let row = sender.tag % 100
let dict = arrayCategory[section] as? NSDictionary
let subLimit = getStringValueFromAPIValue(apiValue: dict?.value(forKey: "limit"), defaultValue: "")
let cell = self.tableView.cellForRow(at: IndexPath(row: row, section: section)) as! CustomizationDropDownTableViewCell
if self.section_quantity[section] < Int(truncating: subLimit.numberValue!) {
cell.btnDropdown.becomeFirstResponder()
}
}
let subLimit = getStringValueFromAPIValue(apiValue: dict?.value(forKey: "limit"), defaultValue: "")
let cell = self.tableView.cellForRow(at: IndexPath(row: row, section: section)) as! CustomizationDropDownTableViewCell

我不确定是什么问题导致你的应用程序崩溃。尝试在代码中设置一些断点。我认为可选问题可能有问题。

subLimit是可选的,因此在强制展开时请确保它有一个值。Int(截断:subLimit.numberValue!(

此外,只有在确信下转换总是成功的情况下,才使用强制形式的类型转换运算符(as!(。请参阅苹果的Swift文档。https://docs.swift.org/swift-book/LanguageGuide/TypeCasting.html

最新更新