Если у вас есть пользовательский подкласс UIViewController с IBOutlets, который вызывает проблемы, единственный набор шагов, которые я нашел, чтобы действительно избавиться от ошибки, были
.1 Измените класс на UIViewController
.2 Отсоедините все розетки (теперь все они будут иметь желтый предупреждающий треугольник) - этого может быть достаточно, чтобы отключить проблемные розетки.
.3 Выполняйте все стандартные шаги - ↑ ⌘K, удалить производные данные (, молитвенные маты, бусины беспокойства)
.4 Запустить приложение - перейти к проблемной сцене.
.5 Убить приложение, вернуться к интерфейсу Builder изменит класс на ваше собственное имя класса.
.6 Подключите ваши точки.
Запустите приложение & amp; это, как правило, устраняет проблемы соблюдения ключевого значения.
В Python (и большинстве языков), где код находится в пакете, отличается от рабочего каталога при запуске программы. Все относительные пути относятся к текущему рабочему каталогу, а не к файлу кода, в котором он написан. Таким образом, вы бы использовали относительный путь nltk_data/
даже из чертежа, или вы использовали бы абсолютный путь и не оставляли бы двусмысленности.
Атрибут root_path
в приложении (или плане) относится к каталогу пакета для приложения (или плана). Присоедините свой относительный путь к этому, чтобы получить абсолютный путь.
resource_path = os.path.join(app.root_path, 'enltk_data')
У вас, вероятно, нет причин добавлять эту папку каждый раз, когда вы вызываете представление. Я не знаком с nltk специально, но, вероятно, есть способ структурировать это, поэтому вы настраиваете путь к данным один раз при создании своего приложения.
project / app / blueprint
/ data
^ join with root_path to get here
^ app.root_path always points here, no matter where cwd is
^ current working directory