TableView:创建TableView时的问题

在创建一个普通TableView时,上方为todo框,右方为button,下方为UITableView。
在参考链接中,我将第一个视频(视频中使用的是Tabbar进行输入数据转换的),自己就将他们结合到了一起。

出现的问题是:

if editingStyle == UITableViewCellEditingStyle.delete{
            
        ToDos.remove(at: IndexPath.row)//删除行
        ToDoTableView.reloadData()//重载数据
        }
}

中的

ToDos.remove(at: IndexPath.row)//删除行

图片描述

代码如下。

import UIKit

var ToDos = [String]()//定义行的字符串为ToDos

class ToDoViewController: UIViewController,UITableViewDelegate,UITableViewDataSource{
    
    
    @IBAction func AddToDo(_ sender: Any)//添加文字内容
    {
        if (ToDoTextField.text != "")
        {
        ToDos.append(ToDoTextField.text!)
        ToDoTextField.text = ""
            
        //清除文字,键盘消失
        ToDoTextField.text = ""
        ToDoTextField.resignFirstResponder()
        
        }
    }
    
    @IBOutlet var ToDoTextField: UITextField!
    @IBOutlet var ToDoTableView: UITableView!
    
    //在Tableview里添加的行数,每个分区的行数
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return (ToDos.count)
    }
    
    // 显示cell内容
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
        let cell = UITableViewCell(style:UITableViewCellStyle.default,reuseIdentifier:"cell")
        
    cell.textLabel?.text = ToDos[indexPath.row]
        return cell//返回cell
    }
    
    //编辑TableView:删除以及插入
    func tableView(_ tableView: UITableView, ccomit editingStyle: UITableViewCellEditingStyle, forRowIndexPath:IndexPath){
     
        if editingStyle == UITableViewCellEditingStyle.delete{
            
        ToDos.remove(at: IndexPath.row)//删除行
        ToDoTableView.reloadData()//重载数据
        }
}
        
     /*else if editingStyle == UITableViewCellEditingStyle.insert{
            
        ToDos.insert(at: indexPath.row)//插入行
        ToDoTableView.reloadData()//重载数据
            
        }
            
    }*/
    
    override func viewDidAppear(_ animated: Bool) {
        ToDoTableView.reloadData()
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        //实现上拉缩小大标题,大标题显示模式:自动
        navigationItem.largeTitleDisplayMode = .automatic
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
    
}

其次参考的,是根据学习软件Py中iOS UserInterface这一章也是制作的Todo。

参考链接:
How To Create A ToDo List App In Xcode

阅读 2.2k
1 个回答

不太明白想问的问题。
是想问第一部分的代码为什么运行不了吗?

clipboard.png

红框的位置缺少了一个 }

clipboard.png

这里的 {} 也怪怪的。

建议可以先把代码整理下,这样能方便一些。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题