UIAlertView clickedButtonAtIndex
UIAlertView clickedButtonAtIndex
我正在实现一个 UIAlertView,需要它在 iOS7 上 运行。下面的代码有效,但我的问题是关于 alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) 函数的行为。
我有一个 println("button index clicked (buttonIndex)") 用于打印单击了什么按钮。按钮工作正常,打印 0 和 1。
而且当 alertView 启动时,我打印了 0。这应该如何工作?还是这里有问题?
UPDATED CODE
@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()
}
}
当 alertView 启动时,您会打印 0。因为你在定义alertView的时候强行调用了它的delegate方法self.alertView(purgeAlertController, clickedButtonAtIndex: Int())
.
定义alertView的时候不用写这一行。评论这一行并尝试一下。其余代码正确。
您在以下行中自己调用了它:
self.alertView(purgeAlertController, clickedButtonAtIndex: Int())
相反,您可以调用 here
我正在实现一个 UIAlertView,需要它在 iOS7 上 运行。下面的代码有效,但我的问题是关于 alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) 函数的行为。
我有一个 println("button index clicked (buttonIndex)") 用于打印单击了什么按钮。按钮工作正常,打印 0 和 1。
而且当 alertView 启动时,我打印了 0。这应该如何工作?还是这里有问题?
UPDATED CODE
@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()
}
}
当 alertView 启动时,您会打印 0。因为你在定义alertView的时候强行调用了它的delegate方法self.alertView(purgeAlertController, clickedButtonAtIndex: Int())
.
定义alertView的时候不用写这一行。评论这一行并尝试一下。其余代码正确。
您在以下行中自己调用了它:
self.alertView(purgeAlertController, clickedButtonAtIndex: Int())
相反,您可以调用 here