2015-01-26 3 views
1

Мне нужно перейти от контроллера Objective C к Swift, а также передать данные новому контроллеру.Segue от объектива c до swift

В Objective C, я бы:

#include "SecondViewController.h" 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    SecondViewController *svc = [segue destinationViewController]; 
    svc.property = self.property; 
} 

Как сделать то же самое, когда segueing к Swift контроллер представления?

Я попытался в том числе «SecondViewController.swift», но только ввел ошибки и не позволит мне использовать SecondViewController * SVC в PrepareForSegue: во всяком случае.

ответ

1

Вам необходимо импортировать файл заголовка быстрого файла, который имеет имя <module_name>_Swift.h. Например, если ваш проект называется MyProject:

#import "MyProject-Swift.h" 

Обратите внимание, что это не мостиковый заголовок, используемый, чтобы выставить ObjC код Свифта, названный <module_name>-Bridging-Header.h

+0

Этот файл содержит только: // // Используйте этот файл, чтобы импортировать публичные заголовки вашей цели, которые вы хотите открыть в Swift. // – user2055369

+2

Вы смотрите на заголовок моста, он действительно имел в виду заголовок сгенерированный Xcode. Это не видно из Xcode, но должно быть импортировано, как указано выше. Прочтите документацию: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html – bjtitus

+0

Спасибо @bjtitus - user2055369, этот файл не указан в навигаторе проекта, но вы можно открыть cmd + щелкнуть его имя из инструкции import. Он содержит объективное c-представление вашего быстрого кода, поэтому для доступа к быстрому классу из obj-c вам необходимо #import его – Antonio

Смежные вопросы