Integruję kod Swift z dużym projektem Objective-C, ale mam problemy, gdy mój kod Swift odnosi się do klas Objective-C. Na przykład załóżmy, że mam:Jak dodać odwołania do klasy do przodu używane w nagłówku -Swift.h?
- Klasa Objective-C o nazwie
MyTableViewController
- Klasa Objective-C o nazwie
DeletionWorkflow
I ogłosił Swift klasy następująco:
class DeletionVC: MyTableViewController {
let deleteWorkflow: DeletionWorkflow
...
}
Jeśli teraz spróbuję użyć tej klasy, importując ProjectName-Swift.h
do kodu Objective-C, otrzymam niezdefiniowane błędy symboli zarówno dla MyTableViewController
i DeletionWorkflow
.
mogę rozwiązać ten problem w tym konkretnym pliku źródłowego przez importowanie DeletionWorkflow.h
i MyTableViewController.h
przed importować ProjectName-Swift.h
ale to nie skaluje się do dużego projektu, gdzie chcę mój Swift i Objective-C, często interakcji.
Czy istnieje sposób dodawania odniesień do klasy do ProjectName-Swift.h
, aby te błędy nie wystąpiły, gdy próbuję użyć klas Swift z kodu Objective-C w mojej aplikacji?
Nie byłbym zaskoczony, gdyby nigdy tego nie naprawili. Wydaje się, że jest to trudny problem, którego nie można łatwo rozwiązać za pomocą technik statycznych, takich jak mostkowanie nagłówków. Sądzę, że jedynym sposobem na pozbycie się całego mechanizmu nagłówków jest poślubienie kompilatorów Swift i Objective-C. – Echelon