Swift - Как прыгнуть на вершину, используя становлениеFirstResponder - PullRequest
0 голосов
/ 04 ноября 2019

Вот что я хочу сделать, когда я нажимаю на 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()
    }
}

1 Ответ

0 голосов
/ 04 ноября 2019
let subLimit = getStringValueFromAPIValue(apiValue: dict?.value(forKey: "limit"), defaultValue: "")
let cell = self.tableView.cellForRow(at: IndexPath(row: row, section: section)) as! CustomizationDropDownTableViewCell

Я не уверен, какая именно проблема приводит к сбою вашего приложения. Попробуйте сделать несколько точек останова в вашем коде. Я думаю, что могут быть проблемы с дополнительными проблемами.

SubLimit является необязательным, поэтому убедитесь, что он имеет значение при принудительном развертывании. Int (truncating: subLimit.numberValue!)

Кроме того, используйте принудительную форму оператора приведения типа (as!) Только в том случае, если вы уверены, что принижение всегда будет успешным. Смотрите документ Apple Swift. https://docs.swift.org/swift-book/LanguageGuide/TypeCasting.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...