2013-09-08 1 views
2

В настоящее время у меня есть приложение iOS, где элемент случайным образом выбирается из массива элементов и отображается на экране. Я уже создал «случайность» и функцию отображения в приложении, но теперь я пытаюсь настроить его так, чтобы вы могли отправлять по электронной почте элемент из массива, который в настоящее время находится на экране из приложения. Например, вы нажимаете кнопку, и она случайным образом отображает число от 1 до 10. Я хотел бы, чтобы пользователь мог отправлять по электронной почте все номера, случайным образом отображаемые на экране, с телом электронной почты, предварительно заполненным номером на экране. Таким образом, пользователь получает номер «3», нажимает кнопку электронной почты, и когда создается электронная почта, «3» уже предварительно заполняется в теле.Реализация почты в моем приложении iOS

У меня возникли две проблемы: сначала вы узнаете, как реализовать код функции электронной почты в моем текущем коде. Я уже создал приложение тестера, у которого есть кнопка, которая запускает сообщение электронной почты, чтобы отображаться, и заполняет тело каким-то статическим текстом, поэтому у меня есть общее представление о том, как работает код, но я не знаю, как интегрируйте его с кодом, который я уже написал.

Моя вторая проблема заключается в том, что тело почтового сообщения предварительно заполнено случайным числом с экрана.

Для первой задачи здесь является то, что мой ViewController.h выглядит (я уже добавить рамки MessageUI)

#import <UIKit/UIKit.h> 
#import <MessageUI/MessageUI.h> 

@interface ViewController : UIViewController { 
NSArray *testArray; 
} 
- (IBAction)buttonGo:(UIButton *)sender; 
@property (strong, nonatomic) IBOutlet UILabel *testLabel; 
@property (strong, nonatomic) NSArray *testArray; 

- (void) makePrediction; 

@end 

Мой ViewController.m выглядит

#import "ViewController.h" 
#import <MessageUI/MessageUI.h> 

@interface ViewController() 

@end 

@implementation ViewController 
@synthesize testArray; 
@synthesize testLabel; 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.testArray = [[NSArray alloc] initWithObjects:@"number one",@"number `two",@'numberthree", nil];` 

    - (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (IBAction)buttonGo:(id)sender { 
    NSUInteger index = arc4random_uniform(self.testArray.count); 

    self.testLabel.text = [self.testArray objectAtIndex:index]; 
} 

- (void) makePrediction { 
    NSUInteger index = arc4random_uniform(self. 
testArray.count); 

    self.testLabel.text = [self.testArray objectAtIndex:index]; 
} 


- (BOOL) canBecomeFirstResponder { 
    return YES; 
} 


- (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
    self.testLabel.text = @""; 
} 

- (void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
    if (motion == UIEventSubtypeMotionShake){ 
     [self makePrediction]; 
    } 

} 

- (void) motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
    NSLog(@"motion cancelled"); 
} 


@end 

приложение работает отлично, но я не уверен, где реализовать свой код электронной почты. Я также не уверен, как заполнить тело моего письма случайным выбором из моего массива. Я предполагаю, что это будет что-то делать с этим немного MessageUI

NSString * sentFrom = @"text in email body"; 
    [myMail setMessageBody:sentFrom isHTML:YES]; 
+0

Чтобы уточнить, в чем цель кнопкиGo? Из кода ur оба нажатия кнопки и встряхивания движения делают то же самое. – HRM

+0

Да, кнопка buttonGo - это кнопка, которая генерирует случайный элемент из моего массива. «buttonGo» и функция встряски выполняют одно и то же. –

+0

У вас должна быть кнопка для отправки электронной почты, rt? – HRM

ответ

2

Это место, чтобы делать свою работу, как вы будете проводить тексту

- (IBAction)buttonGo:(id)sender 

и для второго выпуска Примечание isHTML имеет чтобы установить NO, если ваш текст не использует его.

MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init]; 

[mailController setSubject:@"randomNumber"];     
[mailController setMessageBody:self.ideaLabel.text isHTML:NO]; 
+0

Итак, в рамках моего текущего кода '(IBAction) я реализую весь свой код функциональности электронной почты? И для второй части я в основном говорю 'mailController' извлекать данные из моего' testArray', а не отображать HTML? –

+0

Я просто хочу сказать, что это начало твоей работы. С вашей стороны вы можете выполнять почтовую операцию из любой требуемой структуры кодирования. Чтобы отделить функциональность, я бы рекомендовал сделать функцию для назначения почты. И, наконец, если вы думаете, что закончите. Просто примите это как ответ. – Hooda

+0

Спасибо, я понял, как реализовать код электронной почты в моем текущем коде, но я все еще работаю над тем, чтобы тело электронной почты было заполнено данными из моего массива. –

 Смежные вопросы

  • Нет связанных вопросов^_^