ViewController
import UIKit
class ViewController: UIViewController, sendDataDelegate {
var dataArray = [String]()
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
tableView.dataSource = self
}
func sendData(data: String) {
dataArray.append(data)
tableView.reloadData()
}
@IBAction func addBtn(_ sender: Any) {
guard let addVC = self.storyboard?.instantiateViewController(withIdentifier: "addVC") as? AddViewController else { return }
addVC.sendDataDelegate = self
self.present(addVC, animated: true, completion: nil)
}
}
extension ViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? Cell else { return UITableViewCell() }
cell.label.text = dataArray[indexPath.row]
return cell
}
}
AddViewController
import UIKit
protocol sendDataDelegate{
func sendData(data: String) -> Void
}
class AddViewController: UIViewController {
var sendDataDelegate: sendDataDelegate?
@IBOutlet weak var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func saveBtn(_ sender: Any) {
sendDataDelegate?.sendData(data: textField.text ?? "")
self.dismiss(animated: true, completion: nil)
}
}
Cell
class Cell: UITableViewCell {
@IBOutlet weak var label: UILabel!
}
storyboard
'ios 개발' 카테고리의 다른 글
부스트코스 iOS앱 프로그래밍과정 후기 (0) | 2022.05.21 |
---|---|
[iOS] Closure를 이용하여 뷰컨트롤러간 데이터 전송하기 (0) | 2021.09.05 |
[ios] UserDefaults 이용해서 tableView 저장하기 (0) | 2021.08.08 |
[ios] pageControl로 tableView 제어하기 (0) | 2021.08.07 |
[ios]textfield 터치시 DatePicker 나오게 하기 (0) | 2021.08.06 |