Параметр класса в качестве необязательного указателя на функцию не распознается как функция

Нажав на ячейку таблицы, вы перейдете к другому представлению. Прибыв в другое представление, я вызываю веб-сервис для асинхронной загрузки данных.

Поскольку я хочу, чтобы мой класс ячеек был чистым от сетевого кода, я хочу определить свой вызов веб-сервиса в TableViewController и установить своего рода делегатное свойство моего TableViewCell для prepareForSegue ().

///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, он распознает его как функцию, но тогда классу нужен инициализатор. Я использую раскадровку, поэтому я хочу избежать этого.

Заранее спасибо!

Редактировать: я думаю, мне просто нужно развернуть его, если это опционально

Edit2: да, глупая ошибка. Мой плохой, выкладываю ответ

0

Решение

Хорошо, как опция, тип свойства getProductDelegate больше не является функцией.

Простая развёртка позволяет использовать её как функцию, как обычно:

if let func = getProductDelegate {
func(...)
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]