Чтобы передать строку или любые данные с одного контроллера на другой в swift.
Выполняется следующие шаги:
1) Создать свойство в дочернем контроллере как var abc:string!
2) Создать объект childcontroller
let storyboard:UIStoryboard()
let viewController: childcontroller = storyboard.instantiateViewControllerWithIdentifier("childcontroller") as! childcontroller
viewController.abc = "hello";
self.navigationController.pushviewController(Controller:viewController animated:true CompletionHandler:nil)
Первый шаг должен получить сервис выбора, например, от любого представления или редактора как это:
ISelectionService service = getSite().getWorkbenchWindow()
.getSelectionService();
Или, , поскольку VonC записал , Вы могли получить его через PlatformUI, если Вы не находитесь ни один в представлении или редакторе.
Затем получите выбор для Проводника пакетов и бросьте его в IStructuredSelection:
IStructuredSelection structured = (IStructuredSelection) service
.getSelection("org.eclipse.jdt.ui.PackageExplorer");
, От которого, можно получить выбранный IFile:
IFile file = (IFile) structured.getFirstElement();
Теперь для получения полного пути необходимо будет получить местоположение для IFile:
IPath path = file.getLocation();
, Который тогда можно наконец использовать для получения реального полного пути в файл (среди прочего):
System.out.println(path.toPortableString());
можно найти больше информации о сервисе выбора здесь: Используя Сервис Выбора .
Код был бы похож:
IWorkbenchWindow window =
PlatformUI.getWorkbench().getActiveWorkbenchWindow();
ISelection selection = window.getSelectionService().getSelection("org.eclipse.jdt.ui.PackageExplorer");
представление You пример в Действии как это класс .
LuaFileWizardAction