iOS学习笔记13-字典数据写入plist

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS学习笔记13-字典数据写入plist相关的知识,希望对你有一定的参考价值。

技术分享

以上为字典数据(图片)

 

首先求到应用程序包的路径

 NSBundle *bundle = [NSBundle mainBundle];

    NSString *path = [bundle bundlePath];

 

然后将路径下所有的文件读出

 NSFileManager *fm = [NSFileManager defaultManager];

    NSArray *allFile = [fm contentsOfDirectoryAtPath:path

                                               error:nil];

    NSLog(@"%@",allFile);

 

找出有图片的文件,并加入数组

 NSMutableArray *imgFiles = [[NSMutableArray alloc]init];

    [allFile enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

//        NSLog(@"%@",obj);

        NSString *file = (NSString *)obj;

        if ([[file pathExtension] isEqualToString:@"jpg"]) {

            NSString *appName = [file stringByDeletingPathExtension];//去掉扩展名

            //将数据封装成为字典

            NSDictionary *dic = @{@"appName":appName,@"appIcon":file};

            //字典放到数组中

            [imgFiles addObject:dic];

            

        }

    }];

 得到文件的路径,并写入

  NSArray *arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *document = arr[0];

    NSLog(@"%@",document);

    NSString *plistPath = [document stringByAppendingPathComponent:@"/imgStore.plist"];

    NSFileManager *imgFileManager = [NSFileManager defaultManager];

    [imgFileManager createFileAtPath:plistPath

                            contents:nil

                          attributes:nil];

    BOOL r = [imgFiles writeToFile:plistPath atomically:YES];

    if (r) {

        NSLog(@"写入成功....");

    }

    

 

以上是关于iOS学习笔记13-字典数据写入plist的主要内容,如果未能解决你的问题,请参考以下文章

将数据写入 .plist

使用 Xcode 读取和写入具有字典数组的 Plist

将嵌套字典写入 plist (Swift) 时的类型问题

在 plist 中写入字典有效,然后从 plist 返回中读取字典(空)

IOS开发-OC学习-常用功能代码片段整理

阅读 plist 字典