我发现了一个与我最相似的问题,但没有得到彻底的回答。如果有人能帮助我,那将是很棒的。我发现类似问题的地方是here。
我清楚地了解func test()
"test"
和test(object:AnyObject)
"test:"
将如何func popoverSelectedCode (code:AnyObject, desc:AnyObject)
。感谢this。
那么2个参数怎么样?可以迅速不为'action:'做2个参数吗?
action: "popoverSelectedCode:,"
action: "popoverSelectedCode:,:"
action: "popoverSelectedCode: :"
action: "popoverSelectedCode: , :"
我尝试用以下几种方式测试它,但无济于事:
@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)
}
在斯威夫特只有一个星期的时间,所以请善待。
EDITED 这是代码的简短剪辑
{{1}}
然而,弹出窗口在选择时出现,它只是挂起。
答案 0 :(得分:10)
关于Swift 2.2的说明。 您现在可以将选择器键入为
#selector(popoverSelectedCode(_:desc:)
答案 1 :(得分:2)
在 Swift 2.2 中,您可以执行以下操作。
myUISlider.addTarget(self, action:#selector(self.onSliderValChanged(_:withEvent:)), forControlEvents: .ValueChanged)
func onSliderValChanged(slider: UISlider, withEvent event: UIEvent?) {
}
我希望它可以帮助那些人。
答案 2 :(得分:1)
使用两个参数,它变为action::
。一个冒号一个冒号。
答案 3 :(得分:1)
如果该功能有两个参数,如下所示。
func clicked(sender:AnyObject,value:AnyObject)
{
}
然后
action = "clicked::"
答案 4 :(得分:1)
检查以下代码
func switchCard(card: Int, withCard card1: Int) {
print(card)
}
let singleTap1 = UITapGestureRecognizer(target: self, action: "switchCard:withCard:")
答案 5 :(得分:0)
以下是您在案例中实现这一目标的方法:
action: "popoverSelectedCode:desc:"
答案 6 :(得分:0)
对于选择器方法中的多个参数传递:
let swipeRecognizer = UISwipeGestureRecognizer.init(target: self, action: #selector(ImageViewController.handleTap(_: sender :)))
myCell.imageViewPhoto .addGestureRecognizer(swipeRecognizer)