我是一名學習Swift和xcode的新手,通過重寫最初在Javascript/PHP/MySql中開發的代碼。我在macOS工作,使用xcode中的故事板作爲我的開發基礎。目前我正在開發SplitView。在主方我有一個OutlineView。它有三個層次,外層是可擴展的,直到今天,它工作得很好。適當時,所有級別都已填充,可見並可擴展。就我所知,我有Swift(4.0)和xcode(9.1)。所以,今天我決定是時候從塞拉利昂更新到高山。我的主視圖現在已完全空白。納達。我試圖跟蹤問題並發現,使用xcode中的調試器,顯然,我的MasterViewController的NSOutlineViewDelegate擴展中的outlineView函數顯然根本沒有被調用!我檢查了Connections Inspector,並且與DataSource和Delegate的連接仍然完好無損。我在網上搜索,發現幾個人似乎與Cocoa綁定相關的近期問題隱約相關,但是我無法將他們的問題解決方案連接到我的,因爲我沒有使用Cocoa綁定...它在我的列表中,但是我還沒有。我所知道的唯一變化就是從Sierra到High Sierra。有什麼建議麼?謝謝!高Sierra內的NSOutlineViewDelegate無法正常工作
增加:我現在知道更多關於這個問題。
下面是前高塞拉利昂工作代碼:
類的ViewController:NSViewController {
@IBOutlet弱VAR web視圖:WebView中!
@IBOutlet weak var outlineView:NSOutlineView!
變種饋送=訂閱
讓dateFormatter = DateFormatter()
倍率FUNC viewDidLoad中(){
super.viewDidLoad()
dateFormatter.dateStyle = .short
if let filePath = Bundle.main.path(forResource: "Feeds", ofType: "plist") {
feeds = Feed.feedList(filePath)
print(feeds)
}
}
該代碼是從一個教程採取的OutlineView在Ray_Wenderlich.com網站上。在此之後,我對代碼進行了圖案化,並且教程和代碼都工作了......直到高Sierra。顯然,在高Sierra之後,系統會自動解析「feeds」並生成outlineView顯示。隨着高山脈的行爲改變,它不再自發地產生outlineView,無論是在教程還是我的項目。結果是一個空白的outLineView。
在加入教程評論,我現在發現別人也遇到了同樣的行爲,並建議代碼現在需要:
outlineView.reloadData(),
但我天真的實施該建議只是產生一個運行時錯誤,
「[一個NSView reloadData]:無法識別的選擇發送到實例」
請格式化您的問題,看起來很難看 –
顯示您的工作。除非你需要英語作文課的幫助,否則「不工作」不適用於除你之外的任何人。 –
同意@ElTomato –