muszę zadeklarować zmienną, która będzie przechowywać tablicę teksty stałe różnego typu, np .:Swift - jak zadeklarować zmienną/functon z/z wyliczeniami innego typu?
var enums = [EnumTypeA.Option1, EnumTypeB.Option2]
Compiler stwierdza:
Rodzaj ekspresji jest niejednoznaczna bez dalszych kontekście
Będzie to konieczne do przekazania dowolnego wyliczenia lub innego obiektu jako parametru funkcji. Jednak odkryłem, że mogę przekazać rodzajowych aby to osiągnąć, np .:
func f1<T>(enum: T)
ale o protokół z opcjonalnych metod (z prefiksem @objc) jest to niemożliwe.
Możesz wspomnieć protokół @objc, może nam powiedzieć więcej na ten temat i jaką rolę ma w tym, co próbujesz zrobić? –
Używanie protokołów @objc jest niezobowiązujące, aby zadeklarować niektóre z ich funkcji jako opcjonalne i używając takich delegatów jako słabych właściwości. – Kaktusiarz
Co jest zgodne z takim protokołem w twoim przykładzie? –