簡體   English   中英

XCode:Swift奇怪的行為和錯誤

[英]XCode: Swift strange behaviour and errors

我是Swift的新手,我正在嘗試根據以下代碼創建一個新的Cocoa應用程序:

在Swift中拖放-注冊滯后類型有問題嗎?

我正在這樣做:

  1. 創建Swift Cocoa應用程序
  2. 添加自定義視圖
  3. 添加一個名為DropView的NSView的Swift類子類
  4. 將自定義視圖類設置為DropView
  5. 將引用的代碼粘貼到DropView中

然后我遇到了一些錯誤,而且我不太了解為什么以及如何解決它。 有人能幫我嗎?

屏幕截圖

如第一個錯誤所述,您需要將override添加到init方法中:

override init(frame frameRect: NSRect) {
    super.init(frame: frameRect)
}

draggingEntereddraggingUpdated方法中也有一些更改。 您不需要! 為您的NSDraggingInfo了:

override func draggingEntered(sender: NSDraggingInfo) -> NSDragOperation {
    return NSDragOperation.Copy
}

override func draggingUpdated(sender: NSDraggingInfo) -> NSDragOperation {
    return NSDragOperation.Copy
}

要檢查要覆蓋的方法的正確實現,只需開始在文件中鍵入method-name,Xcode就會為您創建帶有標題等的方法:

在此處輸入圖片說明

要修復您的最后一個錯誤,您需要實現NSView required init

required init?(coder: NSCoder) {
    super.init(coder: coder)
}

為了幫助您解決諸如此類的其他錯誤:Xcode本身通常可以幫助您解決問題。 特別是如果您在編輯器的左側看到圓形的錯誤圓圈。 只需單擊它,然后檢查Xcode的建議:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM