以类似于Windows的MessageBox()的方式使用UIAlertView?

4 iphone

我是新来的iPhone,我希望能够在类似于Windows的方式,使用UIAlertView中MessageBox()MessageDlg()Delphi.

例如,我有一个方法需要询问用户对某些事情的确认,并根据他们的响应继续.

例如(伪代码):

-(void)doSomething
{
  [doStep1];
  [doStep2];
  var myValue = [getDefaultValue];

  if (myValue = nil)
  {
    if [promptUser(@"No value in setting. Use the default value?")] //UIAlertView here?
    {
       myValue = @"defaultValue";
    }
    else
      return;  // bug out of the routine 'cause we have no value.
  }

  [doStep3 withValue:myValue];

}
Run Code Online (Sandbox Code Playgroud)

或者,换句话说 - 是否有一种方法可以UIAlertView用来向用户询问例程中的问题,作为控制该例程的逻辑流程的方法?

Hit*_*can 5

根本没有理由将UIAlertView子类化.这就是代表们的意思.您只需要一个支持UIAlertViewDelegate协议的类(例如视图控制器),并将UIAlertView的委托属性设置为该类.然后,您可以在此类中实现alertView:clickedButtonAtIndex:方法,如果要以不同方式专门处理取消,则使用alertViewCancel:方法.

您可以在阅读更多关于它UIAlertView中的文件和在UIAlertViewDelegate文档.