Я новичок в программировании на iOS, и я пытаюсь выяснить, как прервать поток программы, чтобы ждать ответа.iOS Program Flow - Ждите ввода пользователя
В принципе, я хочу отправить электронное письмо из своего приложения и предоставить данные, я хочу предложить пользователю добавить дополнительную информацию.
т.е.
- (IBAction)sendEmail:(id)sender {
MyManagedObject *myObj = nil;
//Retrieve from the database.
NSManagedObjectContext *ctx = [self managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyManagedObject" inManagedObjectContext:ctx];
[request setEntity:entity];
NSError *error;
NSArray *array = [ctx executeFetchRequest:request error:&error];
NSUInteger count = [array count]; // May be 0 if the object has been deleted.
if (count > 0) {
myObj = (MyManagedObject *)[array objectAtIndex:0];
}
//Recipients
NSArray *toRecipents = [[NSArray alloc]init];
// Email Subject
NSString *emailTitle = [@"Report for Month of: " stringByAppendingString: dateString] ;
// Email Content
NSString *messageBody = @"";
if(myObj != nil) {
if (myObj.firstName) {
messageBody = [messageBody stringByAppendingString:[@"\nHello " stringByAppendingString: myObj.firstName]];
toRecipents = [NSArray arrayWithObject:myObj.emailAddress];
}
}
messageBody = [messageBody stringByAppendingString:@"\n\nBelow is my text...."];
messageBody = [messageBody stringByAppendingString:[@"\nMore Information...: " stringByAppendingString: myObj.moreInfo]];
NSString *addInfo = OPEN WINDOW FOR USER TO ADD INFO
if (addInfo != nil) {
messageBody = [messageBody stringByAppendingString:[@"\nAdditional Information...: " stringByAppendingString: addInfo]];
}
... send the email
}
Я уверен, если это возможно без обратного вызова. В основном я хочу прервать поток, поставить накладку и дождаться ее закрытия до завершения отправки по электронной почте ...
Спасибо, я боялся этого. Моя проблема в том, что мне не нужен вид предупреждения во всех обстоятельствах, и мне нужно только проверить его, как только был сделан запрос по электронной почте. Я предполагаю, что я мог бы структурировать его по электронной почте, построенной в методе, который вызывается либо из отправленной почты, либо из обратного вызова из представления предупреждения, и отправляет почтой проверку состояния и определяет, чтобы перейти непосредственно к фактическому методу построения или представлению предупреждения .. –
Да, вы правы. У вас должен быть отдельный метод отправки электронной почты, если он готов к отправке, и который может быть вызван либо методом sendEmail, либо методом обратного вызова. – HRM