簡體   English   中英

將 function 參數傳遞給 Swift 中的選擇器

[英]Pass function argument into selector in Swift

我一共有五個采摘者。 我想為每個人創建一個完成按鈕。 我想為每個選擇器使用不同的選擇器來執行不同的操作。 為了設置完成按鈕,我嘗試對所有按鈕使用相同的方法,但我不知道如何將 function 參數傳遞給 Swift 中的選擇器。

func createDoneButton(txtField: UITextField, donePressed: /* What do I need here? */) {
    let toolbar = UIToolbar() // create toolbar
    toolbar.sizeToFit() // toolbar fits the size of the screen
        
    let doneBtn = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(donePressed)) // action when the done button was pressed
    toolbar.setItems([doneBtn], animated: true)
    txtField.inputAccessoryView = toolbar
}

你可以在你的問題中找到答案:) 只需使用Selector參數類型,不需要#selector()

    func createDoneButton(txtField: UITextField, donePressed: Selector){
        let toolbar = UIToolbar() // create toolbar
        toolbar.sizeToFit() // toolbar fits the size of the screen

        let doneBtn = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: donePressed) // action when the done button was pressed
        toolbar.setItems([doneBtn], animated: true)
        txtField.inputAccessoryView = toolbar
}

暫無
暫無

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

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