ios - 带有文本字段的 uitableviewcell 传递更改的数据

标签 ios sqlite uitableview swift

我有一个带有标签和文本字段的自定义 uitableviewcell,现在我想在文本字段更改为 uitableviewcontroller 时传递数据。

tableview 填充了来自用 fmdb 包装的 sqlite 数据库的数据,并且 tableviewcells 的数量在我在应用程序中使用的每个数据库中都是不同的。有多少个字段以及它们的名称存储在数据库中,表的填充工作正常。

我设法从单元格中的文本字段获取“EditingDidEnd”事件到我的 View Controller ,该事件用于激活工具栏按钮以保存更改。我通过 cell.fieldData.addTarget(self, action: "SaveButtonOn:", forControlEvents: UIControlEvents.EditingDidEnd)

关于在

中创建单元格

tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath)

我现在的问题是我需要从单元格内的文本字段中获取数据。我找到了一些代码和教程,用于通过 addTarget() 将参数传递给 via addTarget() 但仅适用于按钮,我不知道这是否适用于文本字段。

如果您需要更多信息,请直接询问,我希望您能理解我需要做什么。

感谢您的回答 阿达卡斯

最佳答案

对您的 UITextField 使用委托(delegate):

    import UIKit
    class MyViewController: UIViewController, UITextFieldDelegate {
      var myTextField: UITextField!

        override func viewDidLoad() {
            super.viewDidLoad()
            myTextField = UITextField(frame: CGRectMake(0, 0, 100, 30))
            myTextField.delegate = self
        }

      func textFieldDidEndEditing(textField: UITextField) {
        // Do stuff here.
      }
    }

如果设置正确,您拥有的任何文本字段都会调用委托(delegate)方法 textFieldDidEndEditing,然后您可以根据需要对其内容 (textField.text) 进行处理。

关于ios - 带有文本字段的 uitableviewcell 传递更改的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30300699/

相关文章:

ios - UITableViewCell 中的 TapGesture 导致其他单元格状态改变

iphone - 新的 iOS SDK 最佳实践

iphone - 在 iPhone iOS 5 应用程序中使用 SQLite 数据库?

database - ionic + 预填充数据库

SQLite/Room ORDER BY 与 CASE 语句会忽略列 COLLATE

swift - 在uitableview下方添加一个按钮load more

ios - Swift:禁用 UITableViewCell 上的触摸

ios - 呈现模态 UIViewController 时发生奇怪的崩溃

iphone - 如何在 UITableView 中将 fromIndex 处的 Row 交换为 toIndex?

iphone - IPAD APP设计题 - 页面很多,做的很少