私のTaskViewからHomeViewController内の関数reloadTable
を呼び出そうとしています。しかし、私はスローされ続ける他のViewControllerから関数を呼び出す方法
タイプ 'HomeViewController'のインスタンスメンバー 'reloadTable'の使用。代わりに 'HomeViewController'タイプの値を使用することを意味しましたか?
これは私のHomeViewControllerコードです:構造体として
import Foundation
import Alamofire
import SwiftyJSON
class Tasks {
static let sharedInstance = Tasks()
var datas: [JSON] = []
func getTaskDetails(){
Alamofire.request(.GET, Data.weeklyEndpoint).validate().responseJSON { response in
switch response.result {
case .Success(let data):
let json = JSON(data)
if let buildings = json.array {
for building in buildings {
if let startDate = building["start_date"].string{
print(startDate)
}
if let tasks = building["tasks"].array{
Tasks.sharedInstance.datas = tasks
HomeViewController.reloadTable()
for task in tasks {
if let taskName = task["task_name"].string {
print(taskName)
}
}
}
}
}
case .Failure(let error):
print("Request failed with error: \(error)")
}
}
}
// for prevent from creating this class object
private init() { }
}
こんにちは@Laffenなぜあなたはコンプリートを入れましたか:([タスク]) - >()?私はどのように動作しているのか分かりません – noobdev
私はあなたが 'Closures'リンクを見てみることをお勧めします、ドキュメントはどのように/どのように、なぜ詳細に説明します。関数上でクロージャをインクルードしたい 'onCompletion'を定義します。その関数内から 'onCompletion'を呼び出します。要求されたデータが返されます。 'getTaskDetails'を呼び出すと、' onCompletion'の本体を定義します。これは、定義されている関数の中から呼び出されたときに何をすべきかをクロージャに指示する場所です。これは少し毛深い... – Laffen