当用户按下文本视图中的按钮和类型时,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];
我的第二个实现文件MailSend.m将使用(SKP)SMTP发送邮件。 MailSend.m需要访问sendMessage字符串中的文本(在ViewController.m中),以便可以正确发送消息。
我该怎么做?
答案 0 :(得分: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...];
并使用sendText
MailSend.m
访问此字符串
答案 1 :(得分:0)
有三种简单的方法可以做到这一点。
首先是Inder如何说明你在其中创建一个属性并进行设置。
第二种方法是创建一个在SecondViewController中接受NSString作为参数的方法。
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
另一种方法是将新的init方法添加到接受NSString的SecondViewController类中。
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变量。