2016-08-31 3 views
0

テーブルビュー変数にアクセスしてchangevaluesメソッドからデータをリロードできるように、コードをどのように構造化すればよいか考えている人はいませんか?私はアイデアがなくなってしまったので、私はそれを行う方法をいくつかのヒントを与え、私はもはやGoogleに何を知らない。ありがとう別のメソッドからテーブルビューデータを読み込む方法

私の状況を示すコードサンプルを作成しました。私の問題:changevaluesメソッドでテーブルビューのデータをリロードしたい。私は、CustomView init()メソッドでtableviewとsegmentedControlボタンを初期化しました。 changevaluesにデータをロードする目的は、ユーザーが特定のセグメントを選択すると、tableviewが新しいデータで更新されるためです。

主な苦労は、changevaluesメソッドからテーブルビューにアクセスする方法ですか? UITableViewとUISegmentedControl

どちらも、私の質問が重複している場合、私はなく、任意の運と、私の問題への答えで検索しましたので、その質問を参照してくださいのCustomView

のサブビューです。

class CustomView: UIView, UITableViewDataSource, UITableViewDelegate { 

    var changingTableviewData = [] 

    override init(frame: CGRect) { 
     var tableView = UITableView(blah...) 
     tableview.background... 
     tableview.registercell... 
     tableview.delegate.. 

     var customSegmentedB = UISegmentedcontrol(blah) 
     customSegmentedB.frame... 
     customsegmentedB.addTarget(self, action: "changevalues:", forControlEvents: .ValueChanged) 

    } 


    func changevalues(sender: UISegmentedControl) { 
     switch sender.selectedSegmentIndex { 
     case 1: 
      // I want to reload tableview Data 
     case 2: 
      // Also reload data 
     default: 
      // Also reload data 
     } 
    } 



} 

答えて

1

だけself.tableView.reloadData()

1
class CustomView: UIView, UITableViewDataSource, UITableViewDelegate { 

var changingTableviewData = [] 
var tableView: UITableView? 

override init(frame: CGRect) { 
    tableView = UITableView(blah...) 
    tableview.background... 
    tableview.registercell... 
    tableview.delegate.. 

    var customSegmentedB = UISegmentedcontrol(blah) 
    customSegmentedB.frame... 
    customsegmentedB.addTarget(self, action: "changevalues:", forControlEvents: .ValueChanged) 

} 


func changevalues(sender: UISegmentedControl) { 
    tableView?.reloadData() 
} 

} 
+1

はありがとう追加!なぜ私はそれを思い付かなかったのかわかりません:) –

関連する問題