苹果开发 笔记(3)

        最近要从0开始学ios 开发,可以说又回到了过去三年前的状态。学一样东西真是需要坚持。对于ios网上资料很多,成熟的社区cocochina 和开源的第三方github 都很丰富,对于后来者选择上有更多的帮助意义。

     今天开始学习了Plst文件的创建和写入,里面涉及到一些关于NSFileManager 等一些用法,这些属于文件操作范畴。在学习过程又会和NSFileHandle 和NSBundle 打交道。

NSFileManager提供的 功能会更加强大一些 ,包括如何处理目录 创建 删除等的API,NSFileHandle则 提供了文件的操作API 与NSFileManager 有一些区别 ,NSFileHandlerI没有提供类似NSFileManager 类似的创建文件的功能,而 NSBundle 会涉及到一些应用包文件操作提供的API。


  这里也会涉及到一些常用IOS目录:如

                                           Documents (NSDocumentDirectory)

                                           Library/Caches (NSCachesDirectory)

                                           tmp  (NSTemporaryDircory)

                                          LibraryPreferences (NSUserDefaults) 

                                         等


     好进入了下面的过程,为了创建一个路径会先了解这些涉及路径的API。

   (1)打开xcode 创建Command line 的命令行 创建一个工程

  (2)拼凑一个文件为test.plist文件,并组装这个路径。

   (3)使用NSDictionary的 方法去检索文件是否存在。如果不存在则使用NSFileManager 去进行创建。 

   (4)写入数据到plist文件。


 当文件创建后,你通过finder 我找到我们的文件是否存在 。 通过  User/用户名/文稿/test.plst打开这里就看是否创建了这个 文件。这里因为是中文Mac命名。( 用户名就是你mac 机器的的用户名,文稿就是document  文档意思)

打开发现,该文件夹多了一个test.plist的文件。

    注意:Foundation 框架里面为我们提供了一个查找系统目录的函数,NSSearchPathForDirectoriesInDomains 有了它你就可以查询到系统里面应用和文档的目录

苹果开发 笔记(3)_第1张图片


再次操作打开这个文件,发现里面的数据已经生成。说明这个文件已经被创建和成功写入了。为了检索文件内容,使用NSDictionary 去检索一下看是否存在。如果存在则说明这个过程是对了。

好。今天笔记记录到此为止。明天继续努力,为学习新技术努力。

</pre><p></p><p><img src="http://img.blog.csdn.net/20150415112100542" alt="" /></p><p></p><p></p><pre code_snippet_id="644342" snippet_file_name="blog_20150415_2_2007118" name="code" class="objc">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        
        
       //创建和读取plist 文件
       NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
       NSString *path = [array objectAtIndex:0];
       NSString *filePath =[path stringByAppendingPathComponent:@"test.plist"];
       NSLog(@"%@",filePath);//打印目录
       NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath];
       if(dic == nil)
        {
            //创建文件
            NSFileManager *fm = [NSFileManager defaultManager];
            [fm createFileAtPath:filePath contents:nil attributes:nil];
            NSDictionary *dicData = [NSDictionary dictionaryWithObjectsAndKeys:@"liming",@"name",@"12",@"age", nil];
            [dicData writeToFile:filePath atomically:YES];
        }
        else
        {
            NSDictionary *key = [dic objectForKey:@"name"];
            NSLog(@"%@",key);
            NSLog(@"%@",dic);

            
        }
        
    }
    return 0;
}


你可能感兴趣的:(苹果开发 笔记(3))