Другим способом было бы ввести промежуточные базовые классы для соответствующих контроллеров представления UIKit, которые реализуют протокол:
class MyUIViewControler : UIViewController, DetailViewController ...
class MyUITableViewController : UITableViewController, DetailViewController ...
. Затем вы наследуете контроллеры представлений от этих контроллеров представления, а не UIKit.
Это тоже не является естественным, но это не заставляет всех ваших UIViewControllers
удовлетворять протоколу UIViewControllerInject
, как предлагал GoZoner.
Вы пытались использовать метод .get? Если нет , то здесь является ссылкой на документы Python, которая возвращает None, если ключ не найден, это предотвратит ошибку ключа.