国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

沙盒的介紹

2019-11-09 18:49:48
字體:
來源:轉載
供稿:網友
l應用程序包:(上圖中的Layer)包含了所有的資源文件和可執行文件lDocuments:保存應用運行時生成的需要持久化的數據,iTunes同步設備時會備份該目錄。例如,游戲應用可將游戲存檔保存在該目錄lltmp:保存應用運行時所需的臨時數據,使用完畢后再將相應的文件從該目錄刪除。應用沒有運行時,系統也可能會清除該目錄下的文件。iTunes同步設備時不會備份該目錄llLibrary/Caches:保存應用運行時生成的需要持久化的數據,iTunes同步設備時不會備份該目錄。一般存儲體積大、不需要備份的非重要數據llLibrary/PReference:保存應用的所有偏好設置,iOS的Settings(設置)應用會在該目錄中查找應用的設置信息。iTunes同步設備時會備份該目錄l沙盒根目錄:NSString *home = NSHomeDirectory();

 

lDocuments:(2種方式)u利用沙盒根目錄拼接”Documents”字符串

NSString *home = NSHomeDirectory();

NSString *documents = [home stringByAppendingPathComponent:@"Documents"];

// 不建議采用,因為新版本的操作系統可能會修改目錄名

u利用NSSearchPathForDirectoriesInDomains函數

// NSUserDomainMask 代表從用戶文件夾下找

// YES 代表展開路徑中的波浪字符“~”

NSArray *array =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, NO);

// 在iOS中,只有一個目錄跟傳入的參數匹配,所以這個集合里面只有一個元素

NSString *documents = [array objectAtIndex:0];

ltmp:NSString*tmp= NSTemporaryDirectory();llLibrary/Caches:(跟Documents類似的2種方法)u利用沙盒根目錄拼接”Caches”字符串u利用NSSearchPathForDirectoriesInDomains函數(將函數的第2個參數改為:NSCachesDirectory即可)u

lLibrary/Preference:通過NSUserDefaults類存取該目錄下的設置信息l如果對象是NSString、NSDictionary、NSArray、NSData、NSNumber等類型,可以直接用NSKeyedArchiver進行歸檔和恢復l不是所有的對象都可以直接用這種方法進行歸檔,只有遵守了NSCoding協議的對象才可以lNSCoding協議有2個方法:uencodeWithCoder:

每次歸檔對象時,都會調用這個方法。一般在這個方法里面指定如何歸檔對象中的每個實例變量,可以使用encodeObject:forKey:方法歸檔實例變量

uinitWithCoder:

每次從文件中恢復(解碼)對象時,都會調用這個方法。一般在這個方法里面指定如何解碼文件中的數據為對象的實例變量,可以使用decodeObject:forKey方法解碼實例變量

@implementation Person

- (void)encodeWithCoder:(NSCoder*)encoder {

    [encoder encodeObject:self.nameforKey:@"name"];

    [encoder encodeInt:self.ageforKey:@"age"];

    [encoder encodeFloat:self.heightforKey:@"height"];

}

- (id)initWithCoder:(NSCoder*)decoder {

    self.name= [decoder decodeObjectForKey:@"name"];

    self.age= [decoder decodeIntForKey:@"age"];

    self.height= [decoder decodeFloatForKey:@"height"];

    return self;

}

- (void)dealloc{

    [super dealloc];

    [_name release];

}

@end

l使用archiveRootObject:toFile:方法可以將一個對象直接寫入到一個文件中,但有時候可能想將多個對象寫入到同一個文件中,那么就要使用NSData來進行歸檔對象

lNSData可以為一些數據提供臨時存儲空間,以便隨后寫入文件,或者存放從磁盤讀取的文件內容。可以使用[NSMutableDatadata]創建可變數據空間
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保定市| 平利县| 扬州市| 湖南省| 平乡县| 综艺| 阿拉善左旗| 申扎县| 白山市| 延庆县| 布尔津县| 珠海市| 林州市| 丰台区| 绥阳县| 东宁县| 大安市| 蓬安县| 凌源市| 宿松县| 富民县| 乡宁县| 日喀则市| 无为县| 牡丹江市| 冕宁县| 洛阳市| 屏南县| 河池市| 湖南省| 含山县| 台湾省| 丹巴县| 云安县| 禹州市| 金堂县| 贺州市| 武邑县| 济阳县| 托里县| 大名县|