保存所有系统变量的方法
来源:互联网 发布:java数据类型取值范围 编辑:程序博客网 时间:2024/05/29 19:06
类名:MStockTool
.h文件:
@interface MStockTool :NSObject{
}
/**
* 得到Document路径
*/
+(NSString*)getDocumentPath;
/**
* 保存系统配制
*/
+(void)SaveSysConfig;
@end
.m文件
+(NSString*)getDocumentPath{
//Creates a list of directory search paths.--创建搜索路径目录列表。
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
//NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
//常量NSDocumentDirectory表面我们正在查找的Document目录路径,
//常量NSUserDomainmask表明我们希望将搜索限制于我们应用程序的沙盒中。
return [pathsobjectAtIndex:0];
//这样我们就可以得到该数组的第一值,也仅此一值,因为每一个应用程序只有一个Document文件夹。
}
//保存所有系统变量的方法
+(void)SaveSysConfig{
@synchronized(self) {
NSString *err =nil;
NSString *file = [[MStockToolgetDocumentPath ]stringByAppendingPathComponent:CONFIG_FILE_PATH];
//
NSMutableDictionary *saveConfig = [[NSMutableDictionaryalloc]init];
//
id key;
NSEnumerator *enumerator = [sysConfigkeyEnumerator];
while (key = [enumeratornextObject]) {
if([[keysubstringToIndex:1]isEqualToString:@"_"] )
{
[saveConfigsetObject:[sysConfigvalueForKey:key]forKey:key];
//NSLog(@"saveconfigkey=%@,%@",key,[saveConfig valueForKey:key]);
}
}
//NSLog(saveConfig);
//
NSData *pd = [NSPropertyListSerializationdataFromPropertyList:saveConfigformat:NSPropertyListXMLFormat_v1_0errorDescription:&err];
if(nil == err)
[pdwriteToFile:fileatomically:YES];
[saveConfigrelease];
}
}
系统变量 用来判断是否是第一次运行程序 它只是存东西的 但是需要有一个唯一表示符
NSMutableDictionary *sysConfig;
其实可以定义一个继承自NSMutableDictionary的类,写一个单例方法,整个工程中只有一份拷贝,这样的话,就可以随时随地用它来保存变量了。如下所示:
SaveConfig.h
#import <Foundation/Foundation.h>
@interface SaveConfig :NSMutableDictionary
+ (id)ShareConfig;
@end
SaveConfig.m
#import "SaveConfig.h"
@implementation SaveConfig
+ (id)ShareConfig
{
staticSaveConfig *iSaveConfig =nil;
staticdispatch_once_t once;
if (iSaveConfig ==nil) {
dispatch_once(once, ^{
iSaveConfig = [[SaveConfigalloc]init];
});
}
return iSaveConfig;
}
@end
单例的用法:
SaveConfig *save = [SaveConfigShareConfig];
[save setObject:XXXX forKey:@"XXXX"];
这样在整个工程中都使用一个SaveConfig类的对象进行变量的存储,并且可以用[SaveConfig ShareConfig]随时获取到它。- 保存所有系统变量的方法
- ASP.net 保存变量的方法总结
- ASP.net 保存变量的方法总结
- 保存变量的方法 - ASP.NET
- IDl保存和恢复变量的方法
- JS方法保存变量
- 修改系统变量的方法
- 快速保存网页中所有图片的方法
- 快速保存网页中所有图片的方法
- 快速保存网页中所有图片的方法
- 快速保存网页中所有图片的方法
- 快速保存网页中所有图片的方法
- 快速保存网页上所有图片的方法
- 快速保存网页中所有图片的方法
- 快速保存网页中所有图片的方法
- JavaScript保存循环变量的值的两种方法
- java获取所有系统变量
- 一种屏蔽所有系统热键的方法
- toad、oracle client、oracle DB版本问题,ora-12705错误
- [LeetCode] Construct Binary Tree from Preorder and Inorder Traversal
- ztree中根据后台中传过来的node的id,将这个node的复选框置为不可用
- Android KeyCode列表
- HDU 1160 FatMouse's Speed (最長單調递增子序列 dp)
- 保存所有系统变量的方法
- 30 HTML CSS HTTP
- 9patch使用,图片自适应
- 服务器的压力测试
- Invalid Bundle Structure - The binary file '***.app/***.a' is not permitted
- 骑士共存问题 二分图的最大独立集
- android如何实现环形缓冲区
- error:unknown filesystem grub rescue
- 当两台LINUX主机之间要互传文件时可使用SCP命令来实现