модуль Python dlls

Если я вас правильно понимаю, вы хотите запустить свое приложение в состоянии, когда оно находится в контроллере целевого представления. Этот ответ не применяется, если приложение уже запущено.

Прежде всего, вам нужно создать экземпляр контроллера панели вкладок. Это вернет всю иерархию, которую вы создали в файле раскадровки. Свойство viewControllers вашего UITabBarController будет содержать три UINavigationController, которые вы настроили для своих разных вкладок. Первый навигационный контроллер - тот, который связан с вашей домашней вкладкой. Затем вы можете манипулировать свойством viewControllers объекта UINavigationController, чтобы изменить начальный стек контроллеров представления. UINavigationController всегда будет отображать последний, поэтому в этом примере thirdVc - это тот, который показан на домашней вкладке.

func setupAppFromDeeplink() {
    let tabBarController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "tabBar") as! UITabBarController
    let homeNavigationController = tabBarController.viewControllers?.first as! UINavigationController

    let firstVc = UIViewController() 
    let secondVc = UIViewController()
    let thirdVc = UIViewController()

    homeNavigationController.viewControllers = [firstVc, secondVc, thirdVc]

    window!.rootViewController = tabBarController
}

Вы не сможете передавать данные через сегменты с этим подходом, как и вы. Назначьте данные, которые будут отображаться в контроллере вида при настройке firstVc и т. Д.

18
задан akdom 18 October 2008 в 17:04
поделиться

3 ответа

Хорошо это крачки Python всегда загружает dll в том же каталоге как pyd файл, независимо от того, на что установлены Python и пути OS.

, Таким образом, я должен был скопировать _sqlite3.pyd от python/v2.5/DLLS до моего каталога приложений, где новый sqlite3.dll, заставляя его загрузить мой новый dll, а не тот, который идет с Python (так как pyd файлы, кажется, следуют за PYTHONPATH, даже при том, что фактические dlls сами не делают).

6
ответ дан 30 November 2019 в 07:44
поделиться

Если Вы говорите о модуле Python DLLs, то просто изменение sys.path должно быть прекрасным. Однако, если Вы говорите о DLLs , связанном против тех DLLs; т.е. libfoo.dll, который foo.pyd зависит от, затем необходимо изменить переменную окружения PATH. Я записал приблизительно выполнение этого для PyGTK только что , но в Вашем случае я думаю, что это должно быть столь же просто как:

import os
os.environ['PATH'] = 'my-app-dir' + os.pathsep + os.environ['PATH']

, Который вставит my-app-dir во главе Вашего пути Windows, которому я верю также, управляет порядком загрузки на DLLs.

Имеют в виду, что необходимо будет сделать это прежде, чем загрузить рассматриваемый DLL, т.е. прежде, чем импортировать что-либо интересное.

sqlite3 может быть чем-то вроде особого случая, тем не менее, так как он распределяется с Python; это очевидно довольно хитро для тестирования этого быстро, таким образом, я не проверил sqlite3.dll конкретно.

27
ответ дан 30 November 2019 в 07:44
поделиться

Если Ваша версия sqlite будет в sys.path прежде системная версия, то это будет использовать это. Таким образом, можно или поместить его в текущий каталог или измениться PYTHONPATH переменная среды, чтобы сделать это.

0
ответ дан 30 November 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: