我有一个小问题,看起来线程可以对它进行排序,但我不是很好的线程,我读了很多教程,但仍然不知道如何对它进行排序。场景是:我正在将文件保存到亚马逊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";
}
由于
答案 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";
对于带文字的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的委托方法以及警告