私は問題を把握しました。 4へのSwift移行を行い、必要な変数に@objcプロパティを付加していない最初のオプション(推奨)を選択したのがそのときでした。主に私のNodeクラス全体では、変数に@objcプロパティが必要でした.2番目のオプション 'Match Swift 3 Behavior'はそれを行い、デスクトップアプリケーションはクラッシュせずに実行されました。
あなたのNodeクラスについては、以下の4スウィフト3から適切な変換の例:あなたはスウィフト4に変換するときに
class Node: NSObject, TreeNode {
@objc var name1: String
@objc var name2: String
@objc var name3: String?
@objc var children: [Node] = []
@objc init(name1: String, name2: String, name3: String) {
self.name1 = name1
self.name2 = name2
self.name3 = name3
}
@objc func addChild(node: Node) {
// add child function
}
@objc func findChild(node: Node) -> Node? {
// find child function
}
}
この問題に実行している人のために、「マッチスウィフト3を使用してみてください行動オプション。