`
xumingrencai
  • 浏览: 1181420 次
文章分类
社区版块
存档分类
最新评论

三种不同语法的配置文件

 
阅读更多

转载自:http://blog.csdn.net/complex_ok/article/details/7172188

写iOS程序时候,常需要读写一些配置文件。我用过不同的方法。

1. plist

在iOS上,plist文件可以很方便地和NSDictionary及NSArray相互转换。xcode自带了个小工具来编辑plist,但直接用文件编辑器打开plist,看起来很啰嗦。觉得plist在手工配置大量的数据时候很不方便。比如一个学汉字的程序,有很多汉字,每个汉字有一些词组,每个词组要放在不同的位置,需要配置所有汉字的词组的位置。汉字很多时,每次用自带工具配置,总要展开折叠,收起折叠,很慢。

2. xml

plist其实也是xml, 但在xml格式的基础上再添加自己的规则。只使用最原始的xml, 就可以根据每个程序的需要来定义一些tag和属性。比如上面汉字的例子。可以写成

<chars>
<char text="一">
<word text="一个" pos="12,12"/>
<word text="一起" pos="34,34"/>
</char>
<char text="二">
…..
</chars>

这个时候,可以直接使用编辑器来很快配置了。对于大数据量,直接使用编辑器,xml配置起来会比plist快,并且可以使用一个浏览器来检查xml的语法错误。iOS上,xml的读写库已经有很多了。

3. lua

最近,我偏爱使用lua作为配置文件。对于我来说,lua的语法更好看,也方便眼睛检查错误。还是上面汉字例子,使用lua来配置,可以写成。

char {
text = "一",
words = {
{ text="一个" pos="12,12" },
{ text="一个" pos="12,12" },
}
}
……
char {
text = "二"
}

需要读入配置,首先包含lua的代码。Lua代码用纯C写成,使用方便。另外我自己也写了些包装函数来读写lua配置。需要检查配置有没有语法错误,可以临时定义char的函数,用解释器跑一下。

总结

上面三种配置方式都很有用,不同的场合,可以选不同的方式。看项目需要和个人喜好了。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics