ios - 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!)。请参阅 Apple 的 Swift 文档。https://docs.swift.org/swift-book/LanguageGuide/TypeCasting.html
推荐阅读
- python - Python交互终端结果与脚本结果不一致
- php - php - 在 exec() 中转义 php 变量
- python - numpy.ndarray 的 numpy.argwhere 的替代函数是什么?
- sql - 如何在 T-SQL 连接查询中使用 IF-ELSE 语句?
- mysql - 选择一列 + 另一列,最大日期
- ruby-on-rails - Ruby on Rails - 社交分享按钮宝石;修改自动填充的内容
- php - 如何检查我的ipn页面是否被coinbase ping webhook通知调用
- powershell - 移动桌面项目
- swift - 如何在具有自己的登录/注册系统的应用上实现非消耗性应用内购买?
- python - 在 Python 中从 XML 中提取数据