0

ViewController.m は、ユーザーがボタンを押してテキストビューに入力すると、電子メールの本文を組み立てます。電子メールを読み取るプログラムは、電子メールが XML であることを確認します。最終的なメッセージは次のようになります。

NSString *sendMessage = [[NSString alloc]initWithFormat:@"<?xml version = \"1.0\" ?>\n<?commitcrmxml version = \"1.0\" ?>\n<CommitCRMTransaction>\n<ExternalApplicationName>Myapp</ExternalApplicationName>\n<SendResponseToEmail>err@mysite.com</SendResponseToEmail>\n<Password>pass</Password>\n<ReturnTransactionID>CRDOWV34HL53J543GENDYDH92BSF</ReturnTransactionID>\n<DataKind>TICKET</DataKind>\n<RecordData>\n<FLDTKTCARDID>%@</FLDTKTCARDID>\n<FLDTKTPROBLEM>%@\n%@\n%@\n%@\n%@\n%@</FLDTKTPROBLEM>\n<FLDTKTSTATUS>100</FLDTKTSTATUS>\n<FLDTKTKIND>General</FLDTKTKIND>\n<FLDTKTPRIORITY>10</FLDTKTPRIORITY>\n<FLDTKTSOURCE>Myapp</FLDTKTSOURCE>\n<FLDTKTSCHEDLENESTIM>60</FLDTKTSCHEDLENESTIM>\n<FLDTKTFORDISPATCH>N</FLDTKTFORDISPATCH>\n</RecordData>\n</CommitCRMTransaction>", cardID, tempStoreCompany, tempStoreLocation, tempStoreName, tempStorePhone, tempStoreEmail, descriptionMessage];

2 番目の実装ファイル MailSend.m は、(SKP)SMTP を使用してメッセージを送信します。MailSend.m は、メッセージが適切に送信されるように、sendMessage 文字列 (ViewController.m 内) 内のテキストにアクセスする必要があります。

これどうやってするの?

4

2 に答える 2

0

これを行うには、3 つの簡単な方法があります。


1 つ目は、プロパティを作成して設定する方法について Inder が述べた方法です。


2 番目の方法は、NSString を SecondViewController の s パラメータとして受け入れるメソッドを作成することです。

SecondViewController.h

- (void)setTextBody:(NSString*)_body;

SecondViewController.m

- (void)setTextBody:(NSString*)_body {
localBodyString = _body;
}

FirstViewController.m

SecondViewController *second = [[SecondViewController alloc] init...];
[second setTextBody:sendMessage];
//Push the view controller

これを行う別の方法は、NSString を受け入れる SecondViewController クラスに新しい init メソッドを追加することです。

SecondViewController.h

- (id)initWithString:(NSString*)_body;

SecondViewController.m

- (id)initWithString:(NSString*)_body {
if (self)
 localBodyString = _body;
return self;
}

FirstViewController.m

SecondViewController *second = [[SecondViewController alloc] initWithString:sendMessage];
//Push view controller

これらの両方の場合、ヘッダー ファイルで NSString *localBodyString 変数を定義する必要があります。

于 2012-07-16T17:59:23.820 に答える
0

プロパティを作成する

@property (nonatomic,retain) NSString *sendText;

.h ファイルで、.m ファイルで次のように合成します。

@synthesize sendText;

MailSend次に、オブジェクトを割り当てている場所に設定します

MailSend *ms = [[MailSend alloc] init....];
ms.sendText = sendMessage;
[self present...];
//or self.navigationController pushVie...];

sendTextinを使用してこの文字列にアクセスしますMailSend.m

于 2012-07-16T16:10:30.023 に答える