我正在实现一个UIAlertView,需要它在iOS7上运行。下面的代码可以工作,但我的问题是alertView(alertView: UIAlertView,clickedButtonAtIndex buttonIndex: Int)函数的行为。
我有一个println(“按钮索引单击(buttonIndex)"),用于打印已单击的按钮。按钮工作正常,打印0和1。
但是,当alertView启动时,我得到一个0打印。应该是这样运作的吗?还是这里出了什么问题?
更新代码
@IBAction func purgeDatabase() {
// fetch request
let fetchRequest = NSFetchRequest(entityName: "ConcreteBagEntity")
var error : NSError?
// execute fetch request
if let fetchResults = self.managedObjectContext!.executeFetchRequest(fetchRequest, error: &error) as? [ConcreteBagEntity] {
if error != nil{
return
}
// if results are found
if fetchResults.count != 0 {
let purgeAlertController = UIAlertView(title: "Before you go ahead", message: "You are about to delete all your previous quotes. Are you sure you want to go ahead?", delegate: self, cancelButtonTitle: "Cancel")
purgeAlertController.addButtonWithTitle("Ok")
purgeAlertController.show()
}// END IF FETCH != 0
else{
alertViewLaunch("Looks like there is nothing here to delete")
}
}//END FETCH REQUEST
}//END IBACTION
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
println("button index clicked -> \(buttonIndex)")
if buttonIndex == 1 {
purgeAllData()
}
}发布于 2015-07-29 11:45:09
当alertView启动时,您将得到一个0。因为在定义alertView self.alertView(purgeAlertController, clickedButtonAtIndex: Int())时,您已经强制调用了它的委托方法。
在定义alertView时无需编写这一行。注释这一行并试一试。其余代码是正确的。
发布于 2015-07-29 11:49:10
https://stackoverflow.com/questions/31695735
复制相似问题