我正在玩UIAlertView,如果用户点击取消按钮,我只是想显示一条NSLog消息。我无法弄清楚为什么一切都没发生。
以下是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexpath
{
NSUInteger row = [indexpath row];
NSString *rowValue = [listData objectAtIndex:row];
NSString *message = [[NSString alloc] initWithFormat:@"Contact %@", rowValue];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Call this person"
message:message
delegate:nil
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Call",nil];
[alert show];
[message release];
[alert release];
}
- (void)alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == [alert cancelButtonIndex])
{
//Just a quick write to the console
NSLog(@"You clicked on the cancel button");
//Initially tried to see if I could dial a number
//[[UIApplication sharedApplication]
//openURL:[NSURL URLWithString:@"tel://123456789"]];
}
}
我知道我错过了一些非常明显的东西!有什么建议吗?
另外,在相关的说明中 - 这个小测试应用程序实际上是一个表格视图,其中有10个条目从数组中填充。我想做的是能够使用数组索引并为每个项目显示不同的消息。根据我的设置,我将如何在alertView中引用tableview行:clickedButtonAtIndex方法。
答案 0 :(得分:1)
您需要将警报视图委托设置为self
作为开始。
然后你需要定义你所在的类是警报视图委托。
@interface YourCustomViewClass : UIViewController <UIAlertViewDelegate> {
}
@end