2017-09-28 11 views
1

このエラーは以下のコードから取得しています。私は似たような質問を読んで解決策のいくつかを試しましたが、それほど働いていません。どんな助けでも大歓迎です。プロパティ初期化子内でインスタンスメンバー 'parseData'を使用できません

class allTripsViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 

let list = parseData() 

public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return list.count 
} 

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell") 
    cell.textLabel?.text = list[indexPath.row] 
    return cell 
} 

func parseData() -> [String] { 
    //get some json data and put it into the array 
    return delays 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
} 
} 

それは聞かせていた場合にこれが正常に動作リスト=完全にテーブルの上にレンダリングするなど[「ミルク」、「ハニー」]。しかし、代わりにparseDataから配列を使用する必要があります。

答えて

0

リスト配列を空の配列として割り当てて解析した値で入力しようとしましたか?

var list = [String]() 

override func viewDidLoad(){ 
super.viewDidLoad() 

list = parseData() 

tableView.reloadData() 

} 

また、メインキュー内のparseDataから値を取得することも重要です。 parseDataを非同期的に取得する場合は、parseDataの内部の補完ブロックを使用してメインキューの値を返す必要があります。 詳細が必要な場合はお知らせください

+0

お返事ありがとうございます!いいえ、私はこのようなことをやっていませんでした。 "tableView(_:numberOfRowsInSection :)のメンバーへのあいまいな参照" " – Dharyin

+0

コードを確認してください。たぶんあなたはその方法を2回追加したかもしれません – Woof

+0

それは間違いなく一度しかありません。 私は、tableViewと呼ばれる2つの関数がどのようにあるのかとは関係があるかもしれないと考えていましたが、異なるパラメータを取ります。 – Dharyin

関連する問題