テーブルビューセルをタップすると、別のビューに移動します。一度他のビューに到着すると、データを非同期にロードするWebサービスが呼び出されます。オプションの関数ポインタとしてのクラスパラメータは、関数として認識されません。
私は自分のセルクラスをネットワークコードから守りたいので、私はTableViewControllerで自分のWebサービス呼び出しを定義し、prepareForSegue()で私のTableViewCellの種類の代理プロパティを設定します。
///TableViewController
override func prepareForSegue(...) {
dest = TableViewCell
dest.getDataDelegate = getData
}
func getData(...) -> X? {
...
}
///TableViewCell
var getProductDelegate: ((...) -> X?)!
override func viewWillAppear() {
...
getProductDelegate(...) //Error - Cannot call value of non function type
}
私はのgetDataの型宣言の周りに括弧の乗り心地を取得した場合、それは関数としてそれを認識したが、その後クラスが初期化を必要とします。私はストーリーボードを使用していますので、避けたいです。
ありがとうございます!
編集:Yhea、愚かなエラー:私はちょうどそれが
EDIT2 optionnalだ場合は、それをアンラップしなければならないと思います。私の悪い、投稿の回答