私の質問に最も似ている質問を見つけましたが、完全には答えられませんでした。誰かが私を助けてくれるといいですね。同様の質問を見つけた場所は ここ です。
func test()
が_"test"
_になり、test(object:AnyObject)
が_"test:"
_になることを明確に理解しています。おかげで this 。
では、2つのパラメーターはどうですか? Swift 'action:'に対して2つの引数を実行できませんか?
_func popoverSelectedCode (code:AnyObject, desc:AnyObject)
_
以下のいくつかの異なる方法でテストしてみましたが、役に立ちませんでした。
_action: "popoverSelectedCode:,"
action: "popoverSelectedCode:,:"
action: "popoverSelectedCode: :"
action: "popoverSelectedCode: , :"
_
Swift)は生後約1週間なので、親切にしてください。
[〜#〜]編集済み[〜#〜]これはコードの短いクリップです
_@IBAction func securityQuestButtonClicked (sender:AnyObject)
{
cellButton = sender as? UIButton;
var comboDescListArray = TableRoutine.loadCombobox("MobileQuestion")
var codeObject : NSArray = comboDescListArray[0] as NSArray;
var descObject : NSArray = comboDescListArray[1] as NSArray;
var selectionTVC = CPSelectionTVC(style:UITableViewStyle.Plain, codeArray:codeObject, descArray:descObject, target:self, action: "popoverSelectedCode::", widthForViewInPopover:650)
let navCtl = UINavigationController.init(rootViewController:selectionTVC)
popoverController = UIPopoverController.init(contentViewController:navCtl)
var contentHeight : CGFloat = CGFloat (UInt(selectionTVC.navigationTitleHeight) + UInt(selectionTVC.rowCount()) * UInt(selectionTVC.cellHeight))
popoverController?.popoverContentSize = CGSizeMake(400.0, contentHeight)
popoverController?.presentPopoverFromRect(sender.bounds, inView:sender as UIView, permittedArrowDirections:UIPopoverArrowDirection.Up, animated:true)
}
_
ポップオーバーは表示されますが、選択するとハングします。
Swift 2.2。セレクターを次のように入力できるようになりました。
#selector(popoverSelectedCode(_:desc:)
Swift 2.2では、次のようなことができます。
myUISlider.addTarget(self, action:#selector(self.onSliderValChanged(_:withEvent:)), forControlEvents: .ValueChanged)
func onSliderValChanged(slider: UISlider, withEvent event: UIEvent?) {
}
私はそれがそこに誰かを助けることを願っています。
関数に以下のような2つのパラメータがある場合。
func clicked(sender:AnyObject,value:AnyObject)
{
}
次に
action = "clicked::"
2つのパラメーターを使用すると、action::
になります。 1つの引数に対して1つのコロン。
以下のコードを確認してください
func switchCard(card: Int, withCard card1: Int) {
print(card)
}
let singleTap1 = UITapGestureRecognizer(target: self, action: "switchCard:withCard:")
あなたのケースでそれを達成する方法は次のとおりです。
action: "popoverSelectedCode:desc:"
セレクターメソッドで複数の引数を渡す場合:
let swipeRecognizer = UISwipeGestureRecognizer.init(target: self, action: #selector(ImageViewController.handleTap(_: sender :)))
myCell.imageViewPhoto .addGestureRecognizer(swipeRecognizer)