UIAlertView - 在获取显示简单NSLog消息的方法时遇到一些问题

时间:2010-09-14 15:51:22

标签: iphone objective-c

我正在玩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方法。

1 个答案:

答案 0 :(得分:1)

您需要将警报视图委托设置为self作为开始。

然后你需要定义你所在的类是警报视图委托。

@interface YourCustomViewClass : UIViewController <UIAlertViewDelegate> {

}

@end