After you have exposed the headers to Swift, it is very simple to call functions. You can simply call the functions directly as if they didn't have parameter names:
NSArray *addInviteeToListIfSpotAvailable ( NSArray *invitees, NSString *newInvitee ); addInviteeToListIfSpotAvailable(inviteeList, "Sarah")
Xcode will even autocomplete the code for you. From your Swift files point of view, there is no way to know if that function is implemented in Objective-C or Swift.
You can use types the same way you use functions. Once the proper header files are imported in the bridging header, you can just use the type as if it were a Swift type:
@interface Contact : NSObject @property NSString *firstName; @property NSString *lastName; - (NSArray *)addToInviteeList:(NSArray *)invitees includeLastName:(BOOL)include; @end var contact = Contact() contact.firstName = "First" contact.lastName = "Last" contact.addToInviteeList(inviteeList, includeLastName: false)
Again...