23.12.20 TIL - To do list 연습 1

Hay·2023년 12월 20일
0
import UIKit

class ViewController: UIViewController {
    
    //create an empty array to save new text items from textfield alert
    var items = [String]()

    @IBOutlet weak var table: UITableView!
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        table.delegate = self
        table.dataSource = self
    }
    
    //item 추가버튼 펑션
    @IBAction func addBtnPressed(_ sender: UIBarButtonItem) {
        
        var textField = UITextField()
        
        let alert = UIAlertController(title: "Add new item", message: "", preferredStyle: .alert)
        
        let cancel = UIAlertAction(title: "cancel", style: .default) { (cancel) in
            
        }
        
        let save = UIAlertAction(title: "save", style: .default) { (save) in
            //이제 새로운 todo 아이템이 items array 저장될 수 있다
            self.items.append(textField.text!)
            
            self.table.reloadData()
            
        }
        
        alert.addTextField { (text) in
            textField = text
            textField.placeholder = "Add new item"
        }
        
        alert.addAction(cancel)
        alert.addAction(save)
        
        self.present(alert, animated: true, completion: nil)
        
    }
    
}


//create an extension for table view
extension ViewController: UITableViewDelegate, UITableViewDataSource {
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return items.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        
        cell.textLabel?.text = items[indexPath.row]
        
        return cell
    }
}

0개의 댓글