小编Net*_*zer的帖子

如何使用视图控制器重新加载tableview(swift)

我对此很陌生.我花了几个小时来讨论关于这个主题的各种问题,但找不到适合我问题的答案.

我有一个viewcontroller(不是tableviewcontroller)与tableview作为子视图.我的问题是如何在视图控制器的:viewwillappear方法中重新加载表数据.在方法内部,我无法"访问"tableview实例.(另外我理解我不能使用reloaddata()因为我不使用tableviewcontroller).

你知道任何简单的解决方案吗?(我非常假设一个协议可以帮助吗?)

这是简短的代码:

class ViewController3: UIViewController, UITableViewDataSource, UITableViewDelegate {

    var Person_data = [Person]()

    override func viewDidLoad() {
        super.viewDidLoad()

        let tb: UITableView = UITableView(frame: CGRect(x: 10, y: 50, width: 200, height:600), style: UITableViewStyle.Plain)

        tb.dataSource = self
        tb.delegate = self
        super.view.addSubview(tb)

        fetch_data()
    }


        func tableView(tableview: UITableView, numberOfRowsInSection section: Int) -> Int {
            let rows = Person_data.count
            return rows
        }


       func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
        {  
            let cell: UITableViewCell = UITableViewCell()
            cell.textLabel?.text = Person_data[indexPath.row].name
            return cell
        }

    override func …
Run Code Online (Sandbox Code Playgroud)

uitableview reloaddata ios swift

6
推荐指数
1
解决办法
3万
查看次数

UITextfield在UITableViewCells中 - 关闭键盘

UITextfields在每个表格单元格中都有几个.通过点击"完成"按钮或触摸键盘外部,键盘应该被解除.

我的问题:textFieldShouldEndEditing只有当我点击另一个文本字段并且键盘不会被解除时才调用该方法.我想我已经实现了必要的部分(委托和协议方法).

有谁知道我在这里失踪了....?

这是代码(相关部分):

class myVC: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate  {...
Run Code Online (Sandbox Code Playgroud)

这是细胞设置......

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
    let tcell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "tbCell")

    let textfield: UITextField = UITextField(frame:...

    switch (indexPath.section) {
    case 0: ...
    case 1: 
            textfield.text = section2[indexPath.row]
            tcell.addSubview(textfield)
            textfield.delegate = self
            return tcell
Run Code Online (Sandbox Code Playgroud)

这个协议方法:

func textFieldShouldEndEditing(textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        print("method is called")
        return true
    }
Run Code Online (Sandbox Code Playgroud)

谢谢!

uitextfield ios uitextfielddelegate swift

1
推荐指数
2
解决办法
3116
查看次数