保存所有系统变量的方法

本文介绍了一个名为MStockTool的iOS工具类,用于获取应用的Document目录路径及保存系统配置的方法。通过Objective-C实现,提供了获取文档路径及保存配置的具体实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类名: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 = [enumerator nextObject]) {

            

            if([[keysubstringToIndex:1]isEqualToString:@"_"] )

            {

                [saveConfigsetObject:[sysConfigvalueForKey:key] forKey:key];

                    //NSLog(@"saveconfigkey=%@,%@",key,[saveConfig valueForKey:key]);

            }

            

        }

            //NSLog(saveConfig);

        

           //

        NSData *pd = [NSPropertyListSerializationdataFromPropertyList:saveConfig format:NSPropertyListXMLFormat_v1_0errorDescription:&err];

       if(nil == err)

            [pdwriteToFile:file atomically: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

{

   static SaveConfig *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]随时获取到它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值