- 浏览: 87253 次
- 性别:
- 来自: 成都
-
最新评论
#pragma -
#pragma 序列化列表
+ (BOOL)saveMatchListToFile:(NSArray*)newMathcList {
NSString *mathcListFile = [[PlayViewController getLocalMatchList] stringByAppendingFormat:@"matchList.arch", nil];
return [NSKeyedArchiver archiveRootObject:newMathcList toFile:mathcListFile];
}
+ (NSMutableArray*)getMatchListFromFile {
NSString *matchListFile = [[PlayViewController getLocalMatchList] stringByAppendingFormat:@"matchList.arch", nil];
return [NSKeyedUnarchiver unarchiveObjectWithFile:matchListFile];
}
+ (NSString*)getLocalMatchList {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"tdata"];
BOOL isDirectory = YES;
if (![[NSFileManager defaultManager] fileExistsAtPath:documentsDirectory isDirectory:&isDirectory]) {
NSError *error = nil;
[[NSFileManager defaultManager] createDirectoryAtPath:documentsDirectory withIntermediateDirectories:YES attributes:nil error:&error];
if (error) {
NSLog(@"------ create directory error : %@", error);
}
}
return documentsDirectory;
}
#pragma 序列化列表
+ (BOOL)saveMatchListToFile:(NSArray*)newMathcList {
NSString *mathcListFile = [[PlayViewController getLocalMatchList] stringByAppendingFormat:@"matchList.arch", nil];
return [NSKeyedArchiver archiveRootObject:newMathcList toFile:mathcListFile];
}
+ (NSMutableArray*)getMatchListFromFile {
NSString *matchListFile = [[PlayViewController getLocalMatchList] stringByAppendingFormat:@"matchList.arch", nil];
return [NSKeyedUnarchiver unarchiveObjectWithFile:matchListFile];
}
+ (NSString*)getLocalMatchList {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"tdata"];
BOOL isDirectory = YES;
if (![[NSFileManager defaultManager] fileExistsAtPath:documentsDirectory isDirectory:&isDirectory]) {
NSError *error = nil;
[[NSFileManager defaultManager] createDirectoryAtPath:documentsDirectory withIntermediateDirectories:YES attributes:nil error:&error];
if (error) {
NSLog(@"------ create directory error : %@", error);
}
}
return documentsDirectory;
}
发表评论
-
block语法
2015-12-11 10:34 546How Do I Declare A Block in Obj ... -
禁止WebView长按事件
2015-11-04 16:05 1187在webViewDidFinishLoad调用: - (voi ... -
一个公共的TableView,然后不会为每个TableView加delegate和datasource
2015-10-27 10:46 1000.h // // PublicTableView.h // ... -
记录一些不错的文章
2015-10-09 20:04 618好久没有写ios了,这篇文章主要是记录一些看到的不错的文章: ... -
封装录音View
2015-06-26 16:13 637使用方法: 直接把XHRecrodView添加到control ... -
AFNetWorking请求WebService
2015-06-15 17:22 825.h #import <Foundation/Foun ... -
压缩图片,如果图片大于100kb,就循环压缩
2015-06-02 10:37 2290// 压缩图片,如果图片大于100kb,就循环压缩 + (NS ... -
weakSelf
2015-05-11 14:44 560快速的定义一个weakSelf 当然是用于block里面啦 ... -
UINavigationItem 位置问题
2015-05-06 14:09 1030解决ios7 UINavigationItem 位置偏移问题 ... -
ios Icon及启动图集合
2015-05-04 09:13 695做icon和启动图按这个尺寸来 -
把图片压缩到指定大小(kb)
2015-01-19 16:32 5100UIImage *image=[UIImage imageNa ... -
获取当前时间属于该月的第几周
2015-01-06 15:04 1116+(NSInteger) indexWeekOfDateInM ... -
iOS开发的一些奇巧淫技
2014-12-31 11:13 773iOS开发的一些奇巧淫技 http://www.coco ... -
iOS中使用block进行网络请求回调
2014-06-23 16:26 5536转自: http://www.tuicool.com/arti ... -
ios程序异常crash捕获与拦截
2014-06-06 22:09 600转:http://www.sharejs.com/codes/ ... -
设置TabBar选中与未选中图片
2014-04-29 18:07 724-(void)settingTabbarController{ ... -
自定义的NavigationBar,我觉得还不错
2014-04-28 18:03 612地址1:http://code.cocoachina.com ... -
UITableView点击展开cell
2014-04-25 15:14 103861.定义控制cell的两个变量 //最近打开的ind ... -
分享一个非常好的东西
2014-04-09 17:44 724http://makeappicon.com/ 传一个10 ... -
IOS 基于APNS消息推送原理与实现(JAVA后台)
2014-04-09 17:30 1003转:http://cshbbrain.iteye.com/bl ...
相关推荐
在iPhone应用开发中,苹果提供了内置的序列化框架,如NSKeyedArchiver和NSKeyedUnarchiver,用于Objective-C和Swift项目。 序列化在iPhone应用中的主要应用场景包括: 1. **用户数据保存**:当应用需要保存用户的...
通常会有个主类负责处理数据的序列化和反序列化,以及文件I/O操作。 6. **实际应用**:在实际应用中,例如游戏的进度保存、应用设置保存、用户首选项存储等场景,都可以使用属性列表来进行数据持久化。考虑到性能和...
对象归档是Foundation框架提供的一种序列化机制,可以将Objective-C对象转换为可存储的字节流,并在需要时反序列化回原对象。使用`NSKeyedArchiver`和`NSKeyedUnarchiver`类,开发者可以实现自定义对象的数据持久化...
在实际项目中,根据需求,可能还需要对XML数据进行序列化和反序列化,或者结合其他库如GDataXMLNode来处理更复杂的XML操作。理解并熟练运用XML和相关工具,将极大地提升iOS应用的数据处理能力。
- **消息协议**:定义一套消息协议,如JSON格式,用于序列化和反序列化消息数据,确保两端能正确解析和处理。 4. **安全与性能优化**: - **身份验证**:为了保护用户的安全,我们需要实现身份验证机制,例如JWT...
2. **NSJSONSerialization类**:苹果的Foundation框架提供了NSJSONSerialization类,用于在Objective-C中进行JSON的序列化和反序列化。序列化是将JSON数据转换为Foundation对象的过程,反序列化则是将Foundation对象...
综上所述,iPhone数据持久化的方法包括文件系统操作、使用Core Data、SQLite数据库、iCloud同步、Keychain服务以及对象的归档和序列化。每种方法都有其适用场景,开发者应根据应用的需求选择合适的技术。例如,对于...
此外,文档中的代码片段展示了如何自定义NSKeyedArchiver和NSKeyedUnarchiver,它们是用于对象序列化和反序列化的类。Objective-C使用它们可以将对象编码成数据,以便保存在磁盘上或通过网络发送,反序列化时可以将...
Plist文件通常用来保存应用程序的配置信息、用户设置或者轻量级的数据序列化。在给定的资料中,“iphone-plist-net”是一个C#类库,专门用于读取和写入iPhone平台上的Plist文件,这对于非Objective-C或Swift的开发者...
源码中包含了应用程序的各个组成部分,如配置文件、图片资源、国际化文件等,这对于学习iOS开发,尤其是腾讯QQ这样的大型应用的构建流程和技术栈具有很高的学习价值。 首先,从源码中我们可以看到Objective-C或...
- 虽然这不是 `NSFileManager` 的直接功能,但通常结合 `NSKeyedArchiver` 和 `NSKeyedUnarchiver` 使用,实现对象到文件的序列化和反序列化。 6. **链接与符号链接**: - `NSFileManager` 支持创建硬链接和软...
11. **游戏保存与加载**:学习如何使用NSUserDefaults或自定义序列化方法保存游戏进度。 12. **性能优化**:了解内存管理和对象池(Pool)的概念,以提高游戏性能。 通过深入研究这个教程的源代码,新手开发者可以...
最后,你将接触到游戏保存和加载机制,了解如何利用NSUserDefaults或plist文件存储游戏进度,以及如何使用XML或JSON格式序列化和反序列化游戏数据。 总的来说,《知易Cocos2D-iPhone 游戏开发教程》将带你逐步深入...
此外,游戏的保存和加载功能也需要考虑,这通常涉及序列化和反序列化技术,将游戏状态转换为可以存储的数据格式。 为了提升用户体验,游戏的音效和动画设计也是必不可少的。在Objective-C中,我们可以利用...
在iOS开发中,NSFileManager常与NSCoding协议配合,实现对象的序列化(归档)和反序列化(解档)。通过这些方法,开发者可以将对象保存到文件中,然后在需要时恢复。 五、链接与软链接 除了基本的文件操作,...