Тип вашего свойства должен быть кортежем, а не просто объявлением некоторого класса / структуры.Посмотрите, что возвращает ваш pipe()
.Он должен возвращать кортеж с двумя типами
func pipe() -> (Type1, Type2) { ... }
. Для объявления протокола используйте эти два типа
protocol MyProtocol {
var tuple: (signal: Type1, signalSender: Type2) { get set }
}
, затем реализуйте этот протокол в своем классе и присвойте ему возвращаемое значение pipe()
class MyClass: MyProtocol {
var tuple: (signal: Type1, signalSender: Type2) = Signal<Bool, Error>.pipe()
}
тогда, когда вам нужно получить элемент кортежа, просто используйте
tuple.signal
tuple.signalSender