How can I add forward class references used in the -Swift.h header?
objective-c, swift
Solution
This is a little silly, but it sounds like your "workaround" is what Apple intended, at least for now. From the interoperability guide:
If you use your own Objective-C types in your Swift code, make sure to import the Objective-C headers for those types prior to importing the Swift generated header into the Objective-C `.m` file you want to access the Swift code from.
In this devforums thread, someone mentioned they already filed a bug in Radar. You probably should too.
Problem
I'm integrating Swift code into a large Objective-C project, but I'm running into problems when my Swift code refers to Objective-C classes. For example, suppose I have: - An Objective-C class called `MyTableViewController` - An Objective-C class called `DeletionWorkflow` I declared a Swift class as follows: ``` class DeletionVC: MyTableViewController { let deleteWorkflow: DeletionWorkflow ... } ``` If I now try to use this class by importing `ProjectName-Swift.h` into Objective-C code, I get undefined symbol errors for both `MyTableViewController` and `DeletionWorkflow`. I can fix the problem in that individual source file by importing `DeletionWorkflow.h` and `MyTableViewController.h` before I import `ProjectName-Swift.h` but this doesn't scale up to a large project where I want my Swift and Objective-C to interact often. Is there a way to add forward class references to `ProjectName-Swift.h` so that these errors don't occur when I try to use Swift classes from Objective-C code in my app?