我正在为我的应用添加功能,允许它通过电子邮件发送一些相当详细的信息。我想将其作为HTML格式的电子邮件发送,以便我可以利用HTML和CSS样式。
我想采用的方法是设计带有占位符的模板,用于填写要填写的字段,将模板加载到NSString中,然后使用字符串替换来更改占位符和实际数据。
而不是有一个huuuuuuge线如:
NSString *emailTemplate = [NSString stringWithFormat:@"<h1>TITLE</h1><hr noshade/><p>Here is the information about the thing that you are interested in. Find more from the table below:</p> . . ."]
我想以更优雅的方式做到这一点。我应该将模板写入文件然后加载吗?最好的方法是什么?
另外,我怎么能以本地化的方式做到这一点?
谢谢!
答案 0 :(得分:3)
我不确定以可本地化的方式执行此操作的最佳方法,但将HTML写入其自己的.html文件并将该文件的内容读入<{1}}当您需要时对象。
您可以使用
执行此操作NSMutableString
如果使用此方法,则需要在返回的字符串上调用+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error
,以便稍后可以进行字符串替换。不要忘记,使用mutableCopy
将返回一个新的mutableCopy
对象,当您完成它时,您将负责释放它。
然后你可以继续使用
NSMutableString
用您的内容替换占位符。
这样做的好处意味着您可以使用WYSIWYG编辑器或您喜欢的IDE轻松编辑HTML,而无需更改应用程序中的代码。你也可以通过这种方式预览它会变得更容易。
答案 1 :(得分:0)
看看Matt Gemmell的实施,MGTemplateEngine。它适用于OS X和iOS。原版似乎只在SVN上托管,所以有人git-svn'ed it to Github。
我需要在编译之前修改构建设置,但它的工作方式就像一个魅力并且非常强大(实际上,比我更强大,并且可能也是你需要的)。