作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含可重用单元格的表格 View ,每个单元格都有一个文本字段(如购物篮中的数量字段)。每次编辑结束或用户点击键盘外的某个地方时,我都需要更新一些数据,所以我同时使用这两种方法
@IBAction func quantityEditingDidEnd(_ sender: UITextField) {
//code
}
@IBAction func quantityPrimaryActionTriggered(_ sender: UITextField) {
let cell = sender.superview?.superview as! BasketTableItemCell
let indexPath = tableView?.indexPath(for: cell)
//code
}
我的 primaryActionTriggered
出现错误,因为发件人应该是 Any
,但我需要使用 UITextfield
来检测单击了哪个单元格。我该如何解决这个问题 - 使用 primaryActionTriggered
并同时检测发送者为 UIView
?
*** UPD我尝试过以这种方式更改我的代码 -
@IBAction func quantityPrimaryActionTriggered(_ sender: Any) {
print("test")
if let textField = sender as? UITextField {
let cell = textField.superview?.superview as! BasketTableItemCell
let indexPath = tableView?.indexPath(for: cell)
//code
}
}
但请注意,控制台上没有行“test”
。所以我猜,这个 @IBAction 根本不起作用。也许重点在于可重复使用的单元? didEndEditing
效果很好。与 StoryBoard 的连接也可以。
最佳答案
您可以将元素作为 Any 类型传递,然后像这样进行转换
@IBAction func quantityPrimaryActionTriggered(_ sender: Any) {
if let textField = sender as? UITextField {
let cell = textField.superview?.superview as! BasketTableItemCell
let indexPath = tableView?.indexPath(for: cell)
//code
}
}
关于swift - PrimaryActionTriggered - 发件人问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53433703/
我有一个包含可重用单元格的表格 View ,每个单元格都有一个文本字段(如购物篮中的数量字段)。每次编辑结束或用户点击键盘外的某个地方时,我都需要更新一些数据,所以我同时使用这两种方法 @IB
我是一名优秀的程序员,十分优秀!