swift - 如何引用 UIAlert 文本字段 - Swift
问题描述
我有一个警报,它在文本字段中有一个日期选择器。我想将此文本字段引用到 objc 以添加属性,我将如何做到这一点?我尝试使用以下方法,但它不适用于错误“警报不在范围内”。
警报
@IBAction func info(_ sender: Any) {
let alert9 = UIAlertController (title: "Add Your Info", message: nil, preferredStyle: UIAlertController.Style.alert)
let cancel9 = UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel, handler: nil)
alert9.addAction(cancel9)
alert9.addTextField { (textfieldDate: UITextField) in
textfieldDate.placeholder = "Date"
self.datePickerWeight = UIDatePicker()
self.datePickerWeight!.preferredDatePickerStyle = .wheels
self.datePickerWeight?.datePickerMode = .date
self.datePickerWeight?.addTarget(self, action: #selector(ViewController.dateChangedInfo(datePicker:)), for: .valueChanged)
textfieldDate.inputView = self.datePickerInfo
let dateFormatterWeight = DateFormatter()
dateFormatterInfo.dateFormat = "EEEE, MMM d, yyyy"
let todayDateInfo = dateFormatterInfo.string(from: Date.init())
textfieldDate.text = todayDateInfo
}
alert9.addTextField { (textfieldAddInfo: UITextField) in
textfieldAddInfo.placeholder = "Info"
textfieldAddInfo.keyboardType = .decimalPad
}
let ok9 = UIAlertAction(title: "Save", style: UIAlertAction.Style.default) { (action: UIAlertAction) in print("OK")
let textfieldDate = alert9.textFields![0]
let textfieldAddInfo = alert9.textFields![1]
}
dateChangedInfo 对象
@objc func dateChangedInfo(datePicker: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE, MMM d, yyyy"
let stringDate = dateFormatter.string(from: datePicker.date)
let textfieldDate = alert9.textFields?[0] // Cannot find 'alert9' in scope
self.textfieldDate.text = stringDate
self.fetchData(for: stringDate)
}
解决方案
使 alert9 成为实例变量。
var alert9: UIAlertController?
@IBAction func info(_ sender: Any) {
alert9 = UIAlertController (title: "Add Your Info", message: nil, preferredStyle: UIAlertController.Style.alert)
...
}
推荐阅读
- arrays - 使用gets()按空格分隔字符串
- angularjs - ag-grid 社区服务器端过滤
- asp.net-core - 如何使用 SmartAssembly 使用 Razor Pages 混淆 ASP.NET Core 应用程序?
- django - /etc/nginx/default.d/app.conf:1 NGINX Config EC2 中不允许使用指令
- wordpress - Woocommerce 产品图片未显示在产品页面上
- javascript - 单击元素本身时切换类,单击外部时删除
- reactjs - 有没有办法使用 react-map-gl 在地图上覆盖 png 和坐标
- python - Calysto Hy 无法正常启动
- python - 迭代多个查询的 Pythonic 方法(并避免使我的代码臃肿)
- javascript - Javascript 异步函数如何在特定点显式产生控制?