iOS应用存储方式之Plist、Preference和NSKeyedArchiver
iOS应用数据存储方式
XML属性列表(plist)归档
Preference(偏好设置)
NSkeyedArchiver归档(NSCoding)
SQLite3
Core Data
XML属性列表(plist)归档
Preference(偏好设置)
NSkeyedArchiver归档(NSCoding)
SQLite3
Core Data
ios中的实现方案,有下图所列出的这些:
Read on →git是Linux之父,Linus这个牛逼哄哄的大神发明的。本来别人以为,这位大神创建了Linux传奇已是人生巅峰了。而几十年后,这位牛人又创造了一个奇迹。常人难以望其项背。大神之所以成为大神,是因为他生来就是一位大神。
速度
结构
其他
分布式对别集中式的最大区别是:在分布式下,开发者可以在本地提交,每个开发者机器上都有一个服务器的数据库。
Read on →基本操作
Read on →在移动APP中,瀑布流越来越流行。本篇自定义一个简单的瀑布流控件。首先,模仿UITableView,定义一个数据源和代理协议。数据源协议有三个方法。如下:
@protocol GYWaterflowViewDataSource <NSObject>
@required
/** 有多少条数据 */
-(NSUInteger)numberOfCellsInWaterflowView:(GYWaterflowView *)waterflowView;
/** index位置对应的cell */
-(GYWaterflowViewCell *)waterflowView:(GYWaterflowView *)waterflowView cellAtIndex:(NSUInteger)index;
@optional
/** 有多少列 */
-(NSUInteger)numberOfColumnsInWaterflowView:(GYWaterflowView *)waterflowView;
@end
Read on →
上一篇实现新浪微博图文混排谈到了表情与文本的混合排列。属性文本可以有效的设置一段文本中的文字可以有不同的属性。比方微博文本中有话题,超链接,@某人等等。对这些文本需要进行高亮和事件处理。跳转到相应的微博或者链接等等。要实现这个功能,可以分成四个步骤:
通常,我们都会有图片和文字混合起来展示的需求。像杂志中展示一篇文章。QQ发送带表情文字的信息。微博的展示等等… 这里,我们简单的实现一下表情和文字的混合显示。模仿新浪微博,实现效果如下图:
我分为三大步骤:
JSON是一种轻量级的数据格式,一般用于数据交互。服务器返回给客户端的数据一般都是JSON或者XML,当然除了下载文件。
JSON的格式很像OC中的字典和数组。
{"name": "jack", "age": 10}
{"names": ["jack", "rose", "jim"]}
标准的JSON格式key必须用双引号。要想从JSON中挖掘具体的数据,需要对JSON进行解析。JSON转换为OC数据类型:
在iOS中,JSON的常见解析方案有四种
NSJSONSerialization的常见方法
JSON数据-OC对象
+(id)JSONObjectWithData:(NSData )data options:(NSJSONReadingOptions)opt error:(NSError )error;
OC对象-JSON数据
+(NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error;
XML全称Extensible Markup Language。和JSON一样,也是常用的数据交互格式。一般称作XML文档。
XML的解析方式有两种:
在iOS中,解析XML的手段有很多。苹果原生的有NSXMLParser。SAX方式解析,使用简单。第三方框架有libxml2和GDataXML。libxml2使用纯C语言。同时支持DOM和SAX方式解析。GDataXML支持DOM方式解析,是有Google开发的。解析小文件用GDataXML。
// 传入XML数据,创建解析器
NSXMLParser *parser = [NSXMLParser alloc] initWithData:data];
// 设置代理,监听解析过程
parser.delegate = self;
// 开始解析
[parser parse];
NSXMLParser采取SAX方式解析,特点是事件驱动,下面的情况会通知代理。
当扫描到文档的开始时调用(开始解析)
- (void)parserDidStartDocument:(NSXMLParser *)parser
当扫描到文档的结束时调用(解析完毕)
- (void)parserDidEndDocument:(NSXMLParser *)parser
当扫描到元素的开始时调用(attributeDict存放着元素的属性)
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namaspaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict;
当扫描到元素的结束时调用(attributeDict存放着元素的属性)
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namaspaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName;
一直想要去一个清净的地方体验一下。因缘一直都不太成熟。直到这个五一。因缘具足,在北京的朝阳寺参加了为期五天的禅修。
一年多前,应该是大三的时候,一切都感到很迷茫。一直在胡思乱想,不知道人生的意义所在,今后该何去何从。巧合之下,接触到了佛法。一下子有点豁然开朗的感觉。从小到大,心中存在的好多谜团,好多困惑。在佛学中得到了答案。从此,开始看一些佛学的书籍,了解如何是佛法。虽然,直到现在,对于佛法,了解的只是皮毛中的皮毛。但是人生感觉到了一个大的方向。三观的轮廓得到了基本的确定。因为了解了一点佛法的皮毛,发现了自己需要努力的地方太多太多。对于在家人,首先就是要积极上进,感悟生活的真善美。而要对佛法深入,需要多多亲近善知识。广结佛缘。
Read on →在希腊哲学,有两大形而上学体系的派别:一个是巴曼尼得斯的体系,他的基本范畴是being(存有)。另一个,就是赫拉克利特的思想体系,他针对着存有的生灭变化,变迁发展的世界(所谓万物流转说)。由这个生灭变化的动力世界,要成立一个主要的范畴,就是Becoming(变化)。可是从巴曼尼得斯的立场来看,这个Becoming的一切生灭变化,是不断在变迁发展,可以说属于非存有(non-being)。因此,希腊哲学领域有两大境界:一个是巴曼尼得斯的“永恒世界”。并且针对着这个永恒的世界建立了一个基本范畴,being;另一个是赫拉克利特从变迁发展而成“动力世界”,他存在于种种的being。至于这种变如何成为可能?就是要把being转变为non-being。但是这里有问题是being与non-being是如何联系的。
Read on →