Objective-C内置模板系统?

Objective-C内置模板系统?,第1张

概述我正在开发一个iPhone应用程序,我使用 HTML来显示格式化的文本. 我经常显示相同的网页,但内容不同.我想使用模板HTML文件,然后用我的不同值填充它. 我想知道Objective-C是否有类似于Ruby中的ERB的模板系统. 这样就可以做到这样的事情 模板: <HTML> <HEAD> </HEAD> <BODY> <H1>{{{title}}}</H1> <P 我正在开发一个iPhone应用程序,我使用 HTML来显示格式化的文本.

我经常显示相同的网页,但内容不同.我想使用模板HTML文件,然后用我的不同值填充它.

我想知道Objective-C是否有类似于Ruby中的ERB的模板系统.

这样就可以做到这样的事情

模板:

<HTML>  <head>  </head>  <BODY>    <H1>{{{Title}}}</H1>    <P>{{{content}}}</P>  </BODY></HTML>

Objective-C(或者它可能在理想世界中)

Template* template = [[Template alloc] initWithfile:@"my_template.tpl"];[template fillMarker:@"Title" withContent:@"My Title"];[template fillMarker:@"content" withContent:@"My text here"];[template process];Nsstring* result = [template result];[template release];

结果字符串将包含:

<HTML>  <head>  </head>  <BODY>    <H1>My Title</H1>    <P>My text here</P>  </BODY></HTML>

上面的例子可以通过一些文本替换来实现,但这将是一个难以维护.
我还需要像模板中的循环一样的东西.例如,如果我要显示多个项目,我想生成多个div.

谢谢阅读 :)

解决方法 您是否考虑过使用模板:
<HTML>  <head>  </head>  <BODY>    <H1>%@</H1>    <P>%@</P>  </BODY></HTML>

然后:

// just to get file name rightNsstring* fn =     [Nsstring stringWithFormat:@"%@/my_template.tpl",[[ NSBundle mainBundle ] resourcePath ]];// templateNSError *error;Nsstring* template =     [Nsstring stringWithContentsOffile:fn               enCoding:NSUTF8StringEnCoding error:&error];// resultNsstring* result =     [Nsstring stringWithFormat:template,@"MyTitle",@"MyText"];

我认为这几乎是你想要的.

当然,您必须将模板文件添加为项目中的资源.

总结

以上是内存溢出为你收集整理的Objective-C内置模板系统?全部内容,希望文章能够帮你解决Objective-C内置模板系统?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1237722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存