Oto moje 2 centy na Twój problem: Polecam powolną konwersję kodu lub raczej refactoring do Swift, jeśli jest to wymagane dla nowych części kodu. Co więcej, jeśli przekonwertowany kod jest obecnie używany w innych projektach pobocznych (oddziałach funkcji itp.), Nie można zagwarantować, że nadal będzie działał prawidłowo.
Mam nadzieję, że masz testy jednostkowe, ponieważ te mogą ułatwić życie. W każdym razie rozważ aspekt testowania regresyjnego funkcji twojej aplikacji. Biblioteki, których używasz, musiałyby być teraz frameworkami (niektóre biblioteki mogą nie skompilować się jako Framework, bądź tego świadomy).
JEŚLI naprawdę chcesz przekonwertować bazę kodu, zrobiłbym to hirarchicznie.
Rozważmy całą warstwę aplikacyjną i wewnątrz tej warstwy poszczególnych klas.
Zacznij pisać testy dla tych klas (można to zrobić w Swift, zbyt), test Unit test Integracja, UI Testy
Konwersja klasę, do szybkiej klasie (należy zwrócić uwagę, że niektóre logika może zmienić a także inne funkcje mogą być dotknięte)
Wstaw nagłówek pomostowy (jeśli jest to konieczne), którego można użyć jako interfejsu warstwy aplikacji do innych interfejsów - poprawiłoby to nawet zrozumienie różnych części kodu odtwarzanych razem. Jeśli zauważysz jakieś dziwne deklaracje. Rzeczy są publiczne, zbyt wiele losowych wejść dla różnych klas lub czegoś. Jeszcze tego nie dotykaj. W rzeczywistości, trzeba pamiętać, że w dół
Wykonaj szeroko zakrojone badania małych zmian
Zacznij od nowa z następnej klasy
Jeżeli wszystkie klasy zakończeniu na bieżącej warstwie aplikacji, a ty nic nie złamał. Dobra robota. Teraz spójrz na swoje notatki.
Przejdź do następnej warstwy.
W skrócie: Konwertowałbym te części na Swift, które i tak wymagają zmiany (refaktoryzacja, nowe funkcje, błędy, cokolwiek). Jeśli kod działał, a nie widzisz innego powodu niż "no, teraz to jest Swift", uwzględniłbym tylko konwersję, gdybym naprawdę miał na to czas, w przeciwnym razie możesz złamać działający kod, a nawet architekturę, która została skonfigurowana, co różni się w niektórych przypadkach od Swift i Objective-C.
Jeśli naprawdę czujesz, że jesteś mężczyzną w tym: Zacznę pisać testy ;-) Testy jednostek, integracji i interfejsu użytkownika. Pomoże ci to z twoją bazą CURRENT, ale także z twoją przyszłą bazą kodu, czy to w Objective-C czy Swift. Jest to bardzo pomocne przy konwersji kodu na Swift.
OK, dziękuję za szybką reakcję! Ale, co jest najmniej restrykcyjne? A najszybszy? Ale tak, w terminach chcemy mieć tylko Swift App – ExPl0siF
Nie znalazłem sugerowanej przeze mnie metody bardzo restrykcyjnej.Jest to raczej szybki proces, poza importowaniem nagłówków, których możesz potrzebować w projekcie Swift. Ale zamiast najszybszego, myślę, że powinieneś rozważyć, co będzie dla ciebie lepsze w przyszłości. Prawdopodobnie byłoby szybciej zaimportować cały kod Objective-C do twojego nowego projektu, ale wtedy w twoim nowym projekcie miałbyś sporo starego kodu. – totiG
Wielkie dzięki. Więc pomyślimy z tymi elementami, aby dokonać naszego wyboru! – ExPl0siF