2017-11-17 3 views
-1

私はJavascript/PHP/MySqlで最初に開発したコードを書き直すことで、Swiftとxcodeを学ぶ初心者です。私は開発のための基礎としてxcodeのストーリーボードを使って、macOSで作業しています。現時点で私はSplitViewを開発中です。マスター側では私はOutlineViewを持っています。それは3つのレベルがあり、外側の2つは拡張可能であり、今日まではうまくいきました。すべてのレベルは、適切な場所に配置され、表示され、拡張可能でした。私はSwift(4.0)とxcode(9.1)を私が知る限り最新のものにしました。だから今日はシエラからハイシエラに更新する時間だと決めました。私のマスタービューは完全に空白になりました。ナダ。私は問題を追跡し、xcodeのデバッガを使って、MasterViewControllerのNSOutlineViewDelegate拡張機能のoutlineView関数が明らかに呼び出されていないことを発見しました!私は接続インスペクタをチェックし、DataSourceとDelegateへの接続はそのままです。私はオンラインで検索し、ココアのバインディングに関連する最近の問題と思われるものをいくつか見つけましたが、私はCocoaバインディングを使用していないので、私の問題解決策を接続できませんでした。まだありません。私が変わったと知っている唯一の事は、シエラからハイシエラへ行くことでした。助言がありますか?ありがとう!ハイシエラでNSOutlineViewDelegateが動作しない

追加:問題についてもう少し分かります。ここで

前ハイシエラに動作するコードです:

クラスのViewController:NSViewController {

@IBOutlet弱いのvarのWebView:WebViewの!

@IBOutlet weak var outlineView:NSOutlineView!

varが=は

のviewDidLoad FUNCたDateFormatter =たDateFormatter()

オーバーライド(){

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サイトにあります。この後、私のコードをパターン化し、チュートリアルと私のコードは両方ともハイシエラまで働きました。どうやら、High Sierraまで、システムは自動的に「フィード」を解析し、outlineViewの表示を生成します。 High Sierraではビヘイビアが変更され、チュートリアルやプロジェクトでも、自動的にoutlineViewが生成されなくなりました。結果は空白のアウトラインビューでした。コメントで

は、私は今、誰か他の人が同じ動作が発生したコードが今必要なことを示唆していたことがわかり、チュートリアルに追加:

outlineView.reloadData()、

が、私の素朴な実装単純にランタイムエラーが発生した提案、

「[NSViewのreloadData]:認識されていないセレクタがインスタンスに送信された」あなたは新しい「遊び場」を起動したときに、あなたのようにMacOSのを持っていることを

+2

質問を書いてください。読みにくいです。 –

+2

あなたの作品を見せてください。あなたの英語の作文クラスの助けが必要な場合を除いて、「あなたは働いていません。 –

+0

は@ElTomatoに同意します –

答えて

0

は、念のAPPL IOSではなく、チェックされます。 IOSをチェックしている場合、SwiftはUIKit(ココアの代わりに)をインポートして問題を引き起こします。 GL。

関連する問題