我在Xcode(OS X,Swift,Storyboards)中有一個乾淨的OS X項目。 Info.plist中有如下配置颱風:從storyboard OS X注入控制器
這裏是視圖控制器的配置在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上的觀點並將其值綁定到ViewController的name
屬性。
根據文件它應該工作,但它沒有。
當我在AppDelegate.applicationDidFinishLaunching方法中嘗試print(NSStoryboard(name: "Main", bundle: NSBundle.mainBundle()))
時,它打印爲<NSStoryboard: 0x600000001280>
,所以它不是TyphoonStoryboard
實例。
如果我添加typhoonKey
到用戶定義的運行時屬性上的ViewController這樣
的錯誤消息「無法設置(typhoonKey)用戶定義的檢查上(Typhon_Test_Delete.ViewController)屬性:[ setValue:forUndefinedKey:]:該類不是關鍵字值TyphoonKey的密碼值。「打印。
任何想法我做錯了什麼?
可能是颱風正在尋找UIMainStoryboardFile
但在這種情況下,我們有NSMainStoryboardFile
?
我注意到'TyphoonStoryboard'不可用(可能只是斯威夫特?)。 –
嗯。是的,它必須從Swift頭文件中丟失。似乎這裏有一些工作要做。 –