OGeek|极客世界-中国程序员成长平台

标题: ios - 快速代码返回警报类型字符串不起作用 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 17:03
标题: ios - 快速代码返回警报类型字符串不起作用

我发现 void 返回警报,但未找到字符串警报返回。 尝试将 Void 转换为字符串

// return Void Alert
func returnAlert(title: String!, message: String! ,success: (() -> Void)? , cancel: (() -> Void)?) {
    dispatch_async(dispatch_get_main_queue(), {
        let alertController = UIAlertController(title:title,
            message: "",
            preferredStyle: UIAlertControllerStyle.Alert)

        self.newQtyField = UITextField()
        self.newQtyField.keyboardType = .NumberPad

        func addTextField(textField: UITextField!){
            // add the text field and make the result global
            let row = self.array[Int(message)!]
            textField.text = String(row.pbQty!)
            self.newQtyField = textField
        }


        let cancelLocalized = NSLocalizedString("cancel", tableName: "activity", comment:"")
        let okLocalized = NSLocalizedString("ok", tableName: "Localizable", comment:"")

        let cancelAction: UIAlertAction = UIAlertAction(title: cancelLocalized,
        style: .Cancel) {
            action -> Void in cancel?()
        }
        let successAction: UIAlertAction = UIAlertAction(title: okLocalized,
        style: .Default) {
            action -> Void in success?()
        }
        alertController.addTextFieldWithConfigurationHandler(addTextField)
        alertController.addAction(cancelAction)
        alertController.addAction(successAction)


        self.presentViewController(alertController, animated: true, completion: nil)
    })
}

//底部调用乐趣 |我认为成功:{ () to success: { textfield , but not working how...需要你的帮助

    returnAlert("title", message: "msg", success: { () -> Void in


        })
    { () -> Void in
        print("user canceled")
    }



Best Answer-推荐答案


很难理解您在问题中所说的内容。

你应该把方法定义改成这样:

func returnAlert(title: String!, message: String! ,success: ((text:String) -> Void)? , cancel: (() -> Void)?) {

并更改 successAction 以返回 UITextField 的值:

let successAction: UIAlertAction = UIAlertAction(title: okLocalized,
            style: .Default) { action in
                success?(text: self.newQtyField.text!)
            }

关于ios - 快速代码返回警报类型字符串不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38517119/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4