У меня есть чистый проект OS X в Xcode (OS X, Swift, Storyboards). Info.plist имеет следующую конфигурацию
Вот конфигурация для контроллера представления в MyAssembly.sift
public dynamic func viewController() -> AnyObject {
return TyphoonDefinition.withClass(ViewController.self){
(definition: TyphoonDefinition!) in
definition.injectProperty("name", with: "TEST INJECTED")
}
}
вот мой ViewController.swift
:
import Cocoa
@objc
class ViewController: NSViewController {
var name:String?
}
Я добавил NSTextField в представление и привязал его значение к свойству name
ViewController.
По документации должно работать, но не работает.
Когда я пытаюсь выполнить print(NSStoryboard(name: "Main", bundle: NSBundle.mainBundle()))
в методе AppDelegate.applicationDidFinishLaunching, он печатается как <NSStoryboard: 0x600000001280>
, поэтому это не экземпляр TyphoonStoryboard
.
Если я добавлю typhoonKey
к пользовательским атрибутам времени выполнения на ViewController, как это
сообщение об ошибке «Не удалось установить (typhoonKey) определенное пользователем проверенное свойство в (Typhon_Test_Delete.ViewController): [ setValue: forUndefinedKey:]: этот класс не соответствует кодированию значения ключа для ключа typhoonKey». печатается.
Любые идеи, что я делаю неправильно?
Может быть, Тайфун ищет UIMainStoryboardFile
, но в данном случае у нас есть NSMainStoryboardFile
?