実現したいこと
SegmentedControlを以前初めて使いtableViewとともにビルドする事はできたのですが、このままだとcase1,case2でも同じtableViewのcellになってしまうと思うのですが、caseを切り替えることによって何もcellに情報がない空のtableviewをcase2にとりあえず作りたいです。
エラー文
Line 21
Editor placeholder in source file
Use of unresolved identifier 'handler'
上記2つのエラーが出てしまったのですが対処の仕方が分かりません。
本来handleSegmentChangeメソッドの後にSwichで配列の情報を分けたいのですが
息詰まってしましました。
該当コード
Swift
1import UIKit 2 3class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { 4 5 var data = ["a","b","c","d"] 6 let data2 = ["aaa","bbb","ccc"] 7 8 @IBOutlet weak var tableView: UITableView! 9 10 let segmentedControl: UISegmentedControl = { 11 let sc = UISegmentedControl(items: ["視聴前","視聴済"]) 12 sc.selectedSegmentIndex = 0 13 sc.addTarget(self, action: #selector(handleSegmentChange), for: .valueChanged) 14 return sc 15 }() 16 17 @objc fileprivate func handleSegmentChange(){ 18 print(segmentedControl.selectedSegmentIndex) 19 } 20 21 override func viewDidLoad() { 22 super.viewDidLoad() 23 // Do any additional setup after loading the view. 24 tableView.delegate = self 25 tableView.dataSource = self 26 27 } 28 29 func numberOfSections(in tableView: UITableView) -> Int { 30 return 1 31 } 32 33 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 34 return data.count 35 } 36 37 38 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 39 let cell = tableView.dequeueReusableCell(withIdentifier: "cell")! as UITableViewCell 40 cell.textLabel?.text = data[indexPath.row] 41 return cell 42 } 43 44 //cellをスワイプで削除 45 func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { 46 if editingStyle == .delete { 47 data.remove(at: indexPath.row) 48 tableView.deleteRows(at: [indexPath], with: .fade) 49 } 50 } 51}
参考動画
参考、実現したい動画の内容です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/16 07:55
2020/06/16 08:17
2020/06/17 05:19