只能在@IBAction | XCODE ERROR | Swift 5声明实例方法

只能在@IBAction | XCODE ERROR | Swift 5声明实例方法,xcode,cocoa,browser,swift5,ibaction,Xcode,Cocoa,Browser,Swift5,Ibaction,这是我的代码,不建议删除IBAction,我是一个制作浏览器的初学者。我也是 这是一个非常新的程序: import Cocoa import WebKit class ViewController: NSViewController, WKNavigationDelegate { @IBOutlet weak var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() webView.n

这是我的代码,不建议删除IBAction,我是一个制作浏览器的初学者。我也是 这是一个非常新的程序:

import Cocoa
import WebKit
class ViewController: NSViewController, WKNavigationDelegate {



@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
    super.viewDidLoad()
    webView.navigationDelegate = self
    // Do any additional setup after loading the view.
}

override var representedObject: Any? {
    didSet {
    
    }
}




@IBAction func didEnterKeyTapped( sender: NSTextField){
    let urlString = sender.stringValue
guard let url  = URL(string: urlString) else {return}
    let urlRequest = URLRequest(url: url)
    webView.load(urlRequest)
    
    
    @IBAction func didnavigationButtonTapped ( sender: NSSegmentedControl){
        if sender.selectedSegment == 0 {
            webView.goBack()
        }else {
            webView.Forward()
        }
        
        
        
        
    }





func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
    let currentUrl = webView.url?.absoluteString ?? ""
    guard let windowController = view.window?.windowController as? WindowController else {return}
    let textField = windowController.urlTextField
    textField?.stringValue = currentUrl
}
}


}

您在
ViewController
类之外声明了@iActions。iAction必须是类的成员。在类内移动iActions以修复编译器错误

代码中的另一个问题是在
didenterkeytaped
iAction中声明了
didNavigationButtonTapped
iAction。这两个iAction应该是独立的功能,例如:

@IBAction func didEnterKeyTapped( sender: NSTextField){
    let urlString = sender.stringValue
    
    guard let url  = URL(string: urlString) else {return}
            
    let urlRequest = URLRequest(url: url)
    webView.load(urlRequest)
}

@IBAction func didnavigationButtonTapped ( sender: NSSegmentedControl) {
    if sender.selectedSegment == 0 {
        webView.goBack()
    }else {
        webView.Forward()
    }
}
我正在做一个教程,这种帮助和某种程度上没有我会关闭后,但是,它是好的。这将帮助其他人