`

iphone开发之沙盒概念

    博客分类:
  • ios
 
阅读更多

文章来源:http://blog.sina.com.cn/s/blog_659f21d80100wcx8.html

对文件的操作是一项很基本的人际交互过程,这里简单总结一下常用的文件操作内容

1.沙盒的概念

沙盒是iPhone开发中的一个特有的概念,指的是程序运行时的存储空间范围。

出于对安全的考虑,苹果把iPhone中运行的程序限定在一个文件夹内,用户的任何操作都只能在这个文件夹内完成,绝不允许用户访问这个文件夹外的任何文件夹,这个限定文件夹就是“沙盒”。

可以这样理解,你的程序就像被关在一个装满沙子的盒子里面,无论你的程序怎么折腾,也不过是在沙子上留下点痕迹而已,就算出了再大的问题,用手一抹就恢复原状了。


2.获取路径

沙盒中默认有三个目录Documents、Library和tmp。而我们通常把文件存储在Documents中。获取其路径的方法如下:

//获取Document文件夹路径

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

NSString *pathDocuments=[path objectAtIndex:0];

可以看到,第一次获取的地址其实是一个数组,我们取出其中的第一项才是我们想要获取的路径。那么当然可以这样:

NSString *pathDocuments=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];


3.创建文件与将内容写入文件

我们之前获取的路径是目录的路径,所以我们需要手动为其补全为文件路径

NSString *createFileName=@"new.txt";//文件名

NSString *createPath=[NSString stringWithFormat:@"%@/%@",pathDocuments,createFileName];//用文件名补全路径

if ([[NSFileManager defaultManager] fileExistsAtPath:createPath])//判断文件是否已存在

{

NSLog(@"文件已存在!");

}

else

{

NSData *data = [@"这里是新文件的内容" dataUsingEncoding:NSUTF8StringEncoding];//新文件的初始数据

[[NSFileManager defaultManager] createFileAtPath:createPath contents:data attributes:nil];//创建文件

}

多种对象类型都有直接写入文件的方法

例:[userInfoDict writeToFile:filePath atomically:YES];


4.删除文件

NSString *deletePath=[NSString stringWithFormat:@"%@/%@",pathDocuments,fileName];//补全文件名

NSLog(@"%@",deletePath);

NSError *error;

[fileManager removeItemAtPath:deletePath error:&error];

5.读取文件

多种类型的对象创建时都可以直接从文件获取数据,但是切记要用完整路径

NSArray *readArray=[NSArray arrayWithContentsOfFile:filePath];

NSDictionary *readDict=[NSDictionary dictionaryWithContentsOfFile:filePath];

UIImage *readImage=[UIImage imageWithContentsOfFile:filePath];

6.获取文件信息

获取文件信息是fileManager的一个方法,信息包括文件的创建时间,修改时间,是否隐藏扩展名,以及文件大小等属性。

使用方法如下


NSFileManager *fileMng=[[NSFileManager alloc] init];

NSDictionary *attrDict=[fileMng attributesOfItemAtPath:filePath error:NULL];


分享到:
评论

相关推荐

    iPhone开发基础教程附带的源代码

    在iOS开发领域,尤其是对于初学者而言,iPhone开发基础教程是获取知识的重要资源。这个教程通常涵盖了一系列的基础概念,从安装Xcode IDE到创建第一个"Hello, World!"应用,再到更复杂的UI设计、网络编程、数据存储...

    iPhone开发之数据库使用

    本教程主要关注"iPhone开发之数据库使用",特别强调了使用SQLite3数据库。SQLite3是一个轻量级、开源的关系型数据库,它被广泛用于iOS应用程序,因为它不需要独立的服务器进程,可以直接嵌入到应用程序中。以下是...

    《iPhone开发秘籍》目录[参考].pdf

    在《iPhone开发秘籍》这本书中,作者详细介绍了如何进行iPhone应用程序的开发,涵盖了从基础概念到实际操作的各个环节。以下是对目录中提及知识点的详细解释: 1. **iPhone SDK 简介**:iPhone SDK(Software ...

    iPhone开发基础教程_(美)Dave_Mark_中文高清版

    ### iPhone开发基础教程知识点概述 #### 一、书籍基本信息 - **书名**:《iPhone开发基础教程》 - **作者**:Dave Mark & Jeff LaMarche - **出版社**:人民邮电出版社 - **版本**:中文高清版 - **文件大小**:...

    iPhone开发秘籍

    《iPhone开发秘籍》一书由著名的iPhone技术专家Erica Sadun撰写,她是佐治亚理工学院计算机科学博士,具备深厚的Apple开发经验。该书作为Amazon超级畅销书,被誉为iPhone开发者的宝典,不仅覆盖了全面的iPhone SDK...

    面向iPhone开发者的WP7 开发指南(下)

    面向iPhone开发者的WP7开发指南(下)是一个专为熟悉iPhone开发的程序员设计的文档,旨在帮助他们理解和掌握Windows Phone 7(WP7)平台的开发技术。在iOS和WP7之间存在许多相似之处,但也有很多不同之处,这份指南...

    iphone OS 纵览(apple开发人员guide book)

    ### iPhone OS纵览 (Apple开发人员Guide Book) #### 一、引言 在《iPhone OS纵览》这一章节中,Apple官方提供了对于iPhone操作系统(现称为iOS)的基础介绍和技术概述。该文档旨在帮助开发者理解iOS的基本架构、...

    iphone从摄像头相册获取图片,压缩图片,上传服务器

    本文总结了 iPhone 应用程序开发中从摄像头相册获取图片、压缩图片、上传服务器的知识点,并对相关概念进行了详细的说明。 从 iPhone 中的四个来源获取图片 在 iPhone 中,图像可以存储在四个地方:相册、应用程序...

    IPhone 中使用SQLlite数据库开发的实例代码

    总的来说,这个实例代码将帮助你掌握如何在iPhone应用中集成SQLite数据库,实现数据持久化,这对于开发任何需要存储用户数据的应用都是必不可少的技能。通过深入学习和实践,你将成为一个更熟练的iOS开发者。

    iOS开发读取plist文件、iphone中plist文件的读写存 DEMO

    本DEMO旨在教授如何在iPhone和iPad上读取、写入和保存plist文件。下面我们将详细探讨这些操作。 1. **读取plist文件** 要读取plist文件,首先需要获取文件路径。在iOS中,文件通常存储在沙盒的不同目录下,如...

    iPad应用程序开发基础规则.pdf

    iPad虽然使用与iPhone相同的iOS操作系统,但由于其独特的设备特性和用户体验要求,开发iPad应用程序需要遵循一些基础规则。 首先,从系统级别看,iPad应用在运行时不允许其他应用程序同时运行,保证了应用可以占据...

    iphone 越狱查询,文件路径,等多种代码库

    总的来说,"iPhone越狱查询"和"文件路径"的知识点涵盖了iOS设备的底层操作、越狱后的系统访问权限、以及代码库在越狱开发中的作用。通过掌握这些知识,开发者不仅可以创建自定义功能,还能深入理解iOS系统的运行机制...

    IOS开发基础

    1. IOS概念:IOS是运行在苹果公司开发的移动设备iPhone、iPod touch、iPad上的操作系统,负责管理设备硬件,并为应用程序提供运行的环境和技术支持。 2. IOS开发特点:IOS开发的特点包括单应用程序活跃状态、受限的...

    iphon开发秘笈

    ### iPhone开发秘笈 #### 第1章:iPhone SDK简介 **1.1 苹果公司的iPhone SDK** 苹果公司的iPhone SDK(Software Development Kit)是开发者用于创建iOS应用的主要工具集。它包含了开发、测试以及调试iOS应用程序...

    iPhone IOS Hacker Handbook

    开发人员可以通过遵循苹果提供的指南来实现沙盒机制。这包括正确配置应用程序的信息列表文件、使用安全API等步骤。遵循这些最佳实践可以帮助提高应用的安全性。 #### 理解沙盒的实现 沙盒机制的实现依赖于内核的...

    java版的简单iphone推送

    - **沙盒环境与生产环境**: 在开发过程中,可以使用沙盒环境来进行测试,而正式发布时则需使用生产环境。 #### 技术栈 - **Java版本**: 本示例中未明确指定Java版本,但考虑到兼容性问题,建议使用Java 8及以上版本...

    IOS应用源码Demo-MobileTerminal-A GUI Terminal application-毕设学习.zip

    这在iOS开发中是一个独特的概念,因为通常iOS设备以触控交互为主,而Terminal应用则提供了开发者和高级用户访问系统层级服务的途径。通过这个应用,用户可以执行shell命令,进行文件管理、系统调试等操作,这对于...

    面试葵花宝典.pdf

    - iOS是由苹果公司开发的操作系统,它是苹果设备的核心,包括iPhone、iPad、iPod touch等。 - iOS应用开发需要使用Xcode作为开发环境,Xcode集成了代码编辑、调试、性能分析和用户界面设计等功能。 2. Objective-...

    移动操作系统原理与实践课件.zip

    它可能涵盖iOS系统的基础架构,包括沙盒机制、多任务处理以及与其他操作系统如Android的对比。此外,还会讨论移动设备的硬件特性如何影响软件设计。 第2章 Swift语言程序设计(上): 此章将深入讲解Swift编程语言...

    ipad编程教程

    通过《iPad编程教程》,开发者可以系统地学习iPad应用开发,从基础概念到实际项目的实施,逐步成长为一名熟练的iOS开发者。 Wei-Meng Lee 的著作深入浅出,适合初学者入门,同时也为有经验的开发者提供了有价值的...

Global site tag (gtag.js) - Google Analytics