iOS 中 plist 文件的使用

作者: angelen | 来源:发表于2016-06-27 23:27 被阅读4188次

    我们在写 app 很多时候都可能需要用到一些类似与城市列表之类的数据,这些数据可以保存在 plist 文件里。

    解释一下,plist 文件就是 Property List 文件,我们在 Xcode 中新建一个 Project 的时候,在 Project 中可以看到有一个 Info.plist 文件,这种以 .plist 后缀结尾的文件是以 key-value 键值对的形式保存数据的。在开发中,我们可以使用这些 plist 文件保存一些系统配置、用户信息等的信息,炒鸡方便。

    你看这调皮的 Info.plist 文件

    这样吧,我搞一个 plist 文件,里面放有一些城市列表数据,然后把它读取出来。

    开搞

    新建一个 Property List 文件(以下简称 plist 文件),姑且起个名字 Cities.plist


    选择 iOS -> Resource -> Property List

    打开 Cities.plist 文件,发现它可以存储 Array(数组)和 Dictionary(字典)数据


    Cities.plist 初体验

    由于城市列表就是个数组,所以我们在 Root 这个 key 中的 Type 选择 Array,并往里面添加点城市数据


    城市列表

    添加完模拟数据,才发现添加的不是城市数据...算了,当作城市吧
    其实 plist 文件本质就是一个 xml 文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <array>
     <dict>
      <key>cityID</key>
      <integer>1</integer>
      <key>cityName</key>
      <string>北京</string>
      <key>cityRemark</key>
      <string>直辖市</string>
     </dict>
     <dict>
      <key>cityID</key>
      <integer>2</integer>
      <key>cityName</key>
      <string>天津</string>
      <key>cityRemark</key>
      <string>直辖市</string>
     </dict>
     <dict>
      <key>cityID</key>
      <integer>3</integer>
      <key>cityName</key>
      <string>河北</string>
      <key>cityRemark</key>
      <string>省</string>
     </dict>
     <dict>
      <key>cityID</key>
      <integer>4</integer>
      <key>cityName</key>
      <string>山西</string>
      <key>cityRemark</key>
      <string>省</string>
     </dict>
     <dict>
      <key>cityID</key>
      <integer>5</integer>
      <key>cityName</key>
      <string>内蒙古</string>
      <key>cityRemark</key>
      <string>自治区</string>
     </dict>
     <dict>
      <key>cityID</key>
      <integer>6</integer>
      <key>cityName</key>
      <string>辽宁</string>
      <key>cityRemark</key>
      <string>省</string>
     </dict>
    </array>
    </plist>
    

    读取 plist 文件

    #import "ViewController.h"
    
    @interface ViewController ()
    
    @property (nonatomic, strong) NSArray *cities;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        NSBundle *bundle = [NSBundle mainBundle];
        NSString *filePath = [bundle pathForResource:@"Cities" ofType:@"plist"];
        self.cities = [NSArray arrayWithContentsOfFile:filePath];
        NSLog(@"城市列表-->%@", self.cities);
    }
    
    @end
    

    控制台打印:


    城市列表

    这样拿到数据就可以对它进行一些处理了。
    好吧,我只是经常要用到记录一下而已🌚

    相关文章

      网友评论

        本文标题:iOS 中 plist 文件的使用

        本文链接:https://www.haomeiwen.com/subject/mlttjttx.html