W języku C# podczas wciągania biblioteki, która ma wiele kolizji nazw z istniejącym kodem, istnieje sposób na alias importu, więc nie trzeba w pełni wyjaśniać przestrzeni nazw dla każdego użycia. np:Czy można alias importować?
using MyCompany.MyLibrary.Model as MMM
następnie można zrobić
MMM.MyObject
zamiast
MyCompany.MyLibrary.Model.MyObject
Dzięki najnowszej aktualizacji do Swift 3.0, znalazłem kilka moich modeli obiektów są teraz kolizji z typy Foundation
, i byłem zmuszony do przedrostka przedrostków, które kiedyś miały prefiks NS
w nazwie klasy z Foundation.classname
. Byłoby wspaniale, gdybym mógł wpisać alias import mojej biblioteki modeli, podobnie jak w powyższym przykładzie C#. Czy to możliwe w szybkim 3.0? Jeśli nie, to czy istnieje inna strategia unikania kolizji nazw, która spowodowałaby konieczność napisania nazwy struktury przed każdym typem? Rozważam powrót do prefiksowania nazw klas tak, jak zrobiliśmy to w obj-c, ale próbuję zbadać moje opcje, zanim to zrobię.
jak Swift 3? Wierzę, że ta funkcja była w Swift od samego początku. – Sulthan
Przypuszczam, że masz rację. Głównym powodem napisania "od Swift 3" było to, że nie jestem pewien, czy to będzie prawda w Swift 4+. Usunąłem pierwsze "od Swift 3", ponieważ jest prawie niemożliwe, aby Apple usunął funkcję z tego języka. –
Niesamowite dzięki za odpowiedź! –