UIAlertView等到名称输入

时间:2013-05-15 12:34:59

标签: ios multithreading uialertview

我有一个小问题,看起来线程可以对它进行排序,但我不是很好的线程,我读了很多教程,但仍然不知道如何对它进行排序。场景是:我正在将文件保存到亚马逊s3,并且它工作正常,但我决定在将文件上传到亚马逊之前,让用户输入文件名,当我调用UIAlertView类时,程序继续运行,并将文件保存为@ “的test.txt”。以下是代码的一部分:

fileNmae = @"test.txt";
fileName = [self getFileName];
NSLog(@"File name is %@", fileName);

/// -----------------------------------
/// Uploading file to Amazon cloud !!!!
/// -----------------------------------
...

这里提醒方法:

-(NSString*) getFileName {

     // some alert method

return @"someFile.name";
}

由于

3 个答案:

答案 0 :(得分:0)

这里不需要线程。实施UIAlertViewDelegate方法并将上传任务放在

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    // Uploading file to Amazon cloud !!!!
}

答案 1 :(得分:0)

getFileName将调用alert,当用户按OK时将调用其委托方法。 在.m中实现警报View的委托

@interface ViewController :UIViewController<UIAlertViewDelegate>

并且回调方法是

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

    /// -----------------------------------
    /// Uploading file to Amazon cloud !!!!  Once user press OK on alert upload will start
    /// ----------
}

答案 2 :(得分:0)

你做的方式无法实现这一点。实现它的方法是首先制作alertview并获取文件名然后再上传

fileNmae = @"test.txt";
  1. 在此节目之后发布alertview
  2. 在其委托中clickedButton ...您可以获取文件名然后 从那里上传文件
  3. 对于带文字的alertview

    UIAlertView *av = [[UIAlertView alloc]initWithTitle:@"Title" message:@"Please enter someth" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
    av.alertViewStyle = UIAlertViewStylePlainTextInput;
    [av textFieldAtIndex:0].delegate = self;
    [av show];
    

    实现textfield的委托方法以及警告