2017-09-08 2 views
-4

Es gibt eine Klasseninstanz von UIView, die sich wie eine Schaltfläche verhält. Es hat die Eigenschaft:Der Typ 'Void' (aka '()') kann nicht dem Typ '() -> Void' zugewiesen werden

public var endPressAction:(()->Void)? 

Es gibt auch eine Steuerung mit der Methode:

func didPressCell(_ indexPath: IndexPath){ 

Ich versuche, die Controller-Methode als Parameter in die „Taste“, wie dies zu passieren:

button.endPressAction = self.didPressCell(indexPath) 

Aber ich bekomme die Fehlermeldung:

Cannot assign value of type 'Void' (aka '()') to type '() -> Void'

Kennt jemand die Methode der Umwandlung?

Antwort

1

fand ich einen Weg der Umkehr:

button.endPressAction = { self.didPressCell(indexPath) } 
+0

By the way, dieser Code eine starke Referenzzyklus einleitet. Sie sollten innerhalb dieses Verschlusses das Muster "[schwaches Selbst]" oder "nicht verwendetes Selbst" verwenden. – Rob

Verwandte Themen