标签:
GRMustache是一个类似templateEngine的html渲染工具,可以更加有效的帮助大家完成数据生成HTML的过程。
直达地址:https://github.com/groue/GRMustache
无论是GRMustache,还是templateEngine。他们都帮助大家避免了使用
-[NSString stringByReplacingOccurrencesOfString:withString:]:
方法时,繁琐且频繁低效的字符串操作。可以更加优雅高效的生成HTML文件。
本篇博客源地址:http://386502324.blog.163.com/blog/static/113469377201555103951794/
由于博客后期可能还会修改,转载的内容可能不全或有错误,请浏览博客源地址。
一:导入方法
该类库支持cocospod导入管理。省去了繁琐的静态库导入以及后期的更新维护。
二:使用方法
在这里就直接拷贝官方的使用示例了。
// 输出 "Hello Arthur!"
NSString *rendering = [GRMustacheTemplate renderObject:@{ @"name": @"Arthur" } fromString:@"Hello {{name}}!" error:NULL];
// 从bundle文件中读取输出字符串
NSString *rendering = [GRMustacheTemplate renderObject:user fromResource:@"Profile" bundle:nil error:NULL];
重用templates,避免一个同样的templates被多次解析
GRMustacheTemplate *template = [GRMustacheTemplate templateFromResource:@"Profile" bundle:nil error:nil];
rendering = [template renderObject:arthur error:NULL];
rendering = [template renderObject:barbara error:NULL];
rendering = ...
三:注意点
二是官方提供的小示例,在此还想说的是
直达链接:http://mustache.github.io/mustache.5.html
一些特殊情况的定义。
文档已经说的非常清楚,再次就不再赘述。
简单描述下,有些特殊的情况:比如使用{{{ }}}
有时候接口返回的数据中含有<p></p>等标签,如果使用{{ }}完成替换,可能会导致这些特殊的字符被转义,也就是导致格式丢失。
这篇文档就是用来处理这些特殊情况的。
如果需要,还请自行阅读该文档。
四:类的实现
了解下几个主要的类。从而明白这个类库的原理。
1:GRMustache
使用该类库需要手动引入头文件的类。
The GRMustache class provides with global-level information and configuration of the GRMustache library.
GRMustache类提供了通用的信息和库的配置。(也就是方便大家引入其他类)。
2:GRMustacheTemplate(模板)
GRMustacheTemplate是该类库使用的最基本的类。我们在使用类库时,都需要该类的实例或者他的类方法。就想操作系统的窗口,让我们更简单的使用这个类,提供了该类最基本的功能接口。
初始化方法比较简单,这里就不再赘述。
本博客的第二块内容【使用方法】中,有该类的最基础方法
3:GRMustacheConfiguration构造配置器(解析规则)
配置器的作用是设置tagStartDelimiter(左标签)和_tagEndDelimiter(右标签),GRMustacheContentType,以及GRMustacheContext,以便让解析器使用。
1:通过查看API文档,我们可以得知,配置器有三种级别
①:Globally 全局的唯一配置器
[GRMustacheConfiguration defaultConfiguration]
②:For all templates of a template repository 针对一个模板库的配置器
GRMustacheTemplateRepository *repo = [GRMustacheTemplateRepository templateRepositoryWithDirectory:@"/path/to/templates"];
// Have all templates in /path/to/templates render HTML
repo.configuration.contentType = GRMustacheContentTypeHTML;
// Load the HTML template `profile.mustache`:
GRMustacheTemplate *template = [repo templateNamed:@"profile" error:NULL];
③:For a single template.作者没有给实例。。暂时先空着。。
GRMustache的使用(HTML模板渲染工具)For iOS (part1)
标签:
原文地址:http://www.cnblogs.com/xukunhenchouchang/p/4558233.html