前提・実現したいこと
お世話になっております。画面をスクロールしてもボタンを固定したいため、containerviewを使ってtableviewを作っております。下記画像でAボタンを押しときに、tableviewをreloadさせたいのですが、実現できません。現在はBボタンを設置して、containerview上でリロードさせていますが、Aボタンだけで処理を完了したいです。
↓Aボタン押下でtableViewのリストに”123”を追加。この時にtableViewのリロードも行いたい。
↓Bボタン押下時
試したこと
シングルトンとdidSetを使い、listが変更されたときに、reloadDataを実行しようと考えましたが、ちょうどそこで下記のエラーがでて実行できませんした。
Type of expression is ambiguous without more context
swift
1import UIKit 2 3class ViewController: UIViewController{ 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 } 7 @IBAction func A_btn(_ sender: Any) { 8 tableViewController.Singleton.shared.list.append("123") 9} 10}
swift
1import UIKit 2 3 4 5 6class tableViewController: UIViewController,UITableViewDelegate,UITableViewDataSource{ 7 8 @IBOutlet weak var tableView: UITableView! 9 10 class Singleton{ 11 static let shared = Singleton() 12 private init(){ 13 } 14 var list = [String]() { 15 didSet{ 16 tableView.reloadData() 17 } 18 } 19 } 20 21 override func viewDidLoad() { 22 super.viewDidLoad() 23 24 } 25 26 27 @IBAction func B_btn(_ sender: Any) { 28 tableView.reloadData() 29 } 30} 31
何か解決策をご教授いただければ幸いでございます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/06/14 19:17