Używam 3rd ramy firmy, znajduje się plik zawiera następujący kod:Binary operator „==” nie mogą być stosowane do dwóch struct argumentów
struct AdServiceType {
init(_ value: UInt)
var value: UInt
}
var Internal: AdServiceType { get }
var Normal: AdServiceType { get }
var External: AdServiceType { get }
class AdService : NSObject {
var serviceType: AdServiceType
init!()
}
Następnie w moim klasy projektu, mam
var aService : AdService?
//aService is initialised
//COMPILER ERROR: Binary operator ’==’ cannot be applied to two AdServiceType operands
if aService!.serviceType == Normal {
//DO SOMETHING
}
mam błąd kompilatora wymieniony kiedy sprawdzić, czy serviceType
jest Normal
powyżej. Czemu? Jak się go pozbyć?
To powinno być realizowane jako 'enum' zamiast. Teraz możesz porównać wartość 'serviceType.value' lub dostosować się do protokołu' Equatable' i dostarczyć niestandardową logikę porównania w celu użycia '==' na 'AdServiceType' – Alladinian
@ iosDev82 Byłem sceptyczny co do tego, ale tak, myślę, że to czyni W końcu sens, więc go zaznaczyłem. Thanx – Alladinian