Próbuję odwołać się do typu wewnątrz struktury, która ma typ, którego nazwa jest taka sama, jak ramy. Łatwiej wytłumaczyć w kodzie:Jak odnieść się do typu w module, który ma typ o takiej samej nazwie jak moduł, w którym się znajduje?
W ram Something
public struct A { ... }
public class Something { ... }
W ram OtherFramework
public struct A { ... }
Następnie na głównym projektu importować oba moduły:
import Something
import OtherFramework
let myA = A() // 'A' is ambiguous for type lookup in this context
i gdybym do
import Something
import OtherFramework
let myA = Something.A() // 'A' is not a member type of 'Something'
Czy istnieje jakiś sposób odniesienia się do A
w Something
poza zmianą ram?
To fantastyczne pytanie! Nie znalazłem dotąd sposobu, założyłem, że to błąd. – HAS
Jest to praca dookoła, ale prawdopodobnie możesz podzielić swoją klasę na rozszerzenia, które dotyczą tylko jednego z frameworków. – PeejWeej
@ Aleph7 Właśnie napisałem o tym problem: https://bugs.swift.org/browse/SR-1389 Mam nadzieję, że wszystko w porządku z tym – HAS