成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone數據存儲之屬性和歸檔Archive

移動開發 iOS
iPhone每個應用都會有三個文件夾分別是documents、tmp、library分別稱為存儲應用的數據,臨時數據,數據庫。我們要保存的數據會在documents中。

iPhone數據存儲之屬性和歸檔Archive是本文要介紹的內容,在iPhone中有四種方式可以永久存儲數據分別是屬性列表、歸檔、SQLITE3、coredata。

先來解釋一下,前兩者、后二者操作的時候有些地方是相同的,以屬性列表和歸檔來說都會用writeToFile/URL:path atomically:flag 和initWithContentofFile/URL:path;兩都都不能直接操作基本數據類型,不過前者不能操作自定義的類,而后者可以通過實現NSCoding協議來達到目的。另外要說點的就是IPHONE每個應用都會有三個文件夾分別是documents、tmp、library分別稱為存儲應用的數據,臨時數據數據庫。我們要保存的數據會在documents中。由于時間關系抽空再把這個文字寫完整些。

  1. #import "dataprocessAppDelegate.h"  
  2. @implementation dataprocessAppDelegate  
  3. @synthesize window;  
  4. @synthesize dataArray;  
  5. -(NSString*)pathFileForProcess:(NSString *)pathName{  
  6. NSArray *directory=NSSearchPathForDirectoriesInDomains (NSDocumentDirectory,NSUserDomainMask, YES);  
  7. return [[directory objectAtIndex:0] stringByAppendingPathComponent:pathName];  
  8. }  
  9. z  
  10. -(void)writeDataToFile{  
  11. firstData = [[NSString alloc] initWithString:@"im first!"];  
  12. secondData = [[NSString alloc] initWithString:@"im secondData!"];  
  13. thirdData = [[NSString alloc] initWithString:@"im thirdData!"];  
  14. NSLog(@"write:\n first: %@ \nscond: %@ \nthird: %@", firstData, secondData, thirdData);  
  15. NSMutableArray *tmp = [[NSMutableArray alloc] init];  
  16. [tmp addObject:firstData];  
  17. [tmp addObject:secondData];  
  18. [tmp addObject:thirdData];  
  19. self.dataArray = tmp;  
  20. [tmp release];  
  21. [firstData release];[secondData release];[thirdData release];  
  22. BOOL bWrite = [dataArray writeToFile:[self pathFileForProcess:@"myTest.txt"]atomically:YES];  
  23. }//屬性讀  
  24. -(void)readDataFromFile{  
  25. if([[NSFileManager defaultManager] fileExistsAtPath:[selfpathFileForProcess:@"myTest.txt"]]){  
  26.       NSMutableArray  *tmpRead = [[NSMutableArray alloc] initWithContentsOfFile:[selfpathFileForProcess:@"myTest.txt"]];  
  27.   self.dataArray = tmpRead;  
  28.       [tmpRead release];  
  29.     firstData = [dataArray objectAtIndex:0];  
  30.     secondData = [dataArray objectAtIndex:1];  
  31.     thirdData = [dataArray objectAtIndex:2];  
  32.     NSLog(@"read:\n first: %@ \nscond: %@ \nthird: %@", firstData, secondData, thirdData);  
  33. return;  
  34. }  
  35. NSLog(@"PROCESS FIRLE DOESNT EXITS!");  
  36. }  
  37. #pragma mark -------object-------------  
  38. //歸檔寫  
  39. -(void)processObjectWrite{  
  40. person *pObject= [[person alloc] init];  
  41. pObject.name = [[NSString alloc] initWithString:@"wenQiang"];  
  42. pObject.profession = [[NSString alloc] initWithString:@"project manager"];  
  43. //[pObject setAge:24 andMarry: NO];  
  44. //NSMutableArray *testData = [[NSMutableArray alloc] init];  
  45. NSMutableData *data=[[NSMutableData alloc] init];  
  46. NSKeyedArchiver *archiver=[[NSKeyedArchiver alloc] initForWritingWithMutableData:data];  
  47. [archiver encodeObject:pObject forKey:@"kObject"];  
  48. [archiver finishEncoding];  
  49. Boolean bWrite = [data writeToFile:[self pathFileForProcess:@"object2.txt"]atomically:YES];  
  50. if(bWrite) NSLog(@"ok..."); else NSLog(@"write error!");  
  51. [archiver release];  
  52. //[pObject release];  
  53. }、、歸檔讀  
  54. -(void)processObjectRead{  
  55. NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:[selfpathFileForProcess:@"object2.txt"]];  
  56. NSLog(@"data %@..", data);  
  57. NSKeyedUnarchiver *unchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];  
  58. person *tmp = [unchiver decodeObjectForKey:@"kObject"];  
  59. [unchiver finishDecoding];  
  60. NSLog(@"OBJECT: name: %@ profession: %@\nage: %@\n marry:%@", tmp.name, tmp.profession);  
  61. [unchiver release];  
  62. //[tmp release];  
  63. //實現  
  64. - (void)applicationDidFinishLaunching:(UIApplication *)application {      
  65.  
  66.     // Override point for customization after application launch  
  67. //[self writeDataToFile];  
  68. //[self readDataFromFile];  
  69. [self processObjectWrite];  
  70. [self processObjectRead];  
  71.     [window makeKeyAndVisible];  
  72. }  
  73. - (void)dealloc {  
  74.     [window release];  
  75. [dataArray release];  
  76.     [super dealloc];  
  77. }  
  78. @end  
  79. //以下是自定義的類  
  80. #pragma mark---class person--  
  81. #define       kName              @"keyName"  
  82. #define       kProfession @"keyProfession"  
  83. #define       kAge @"keyAge"  
  84. #define       kMarry @"keyMarry"  
  85. @implementation person  
  86. @synthesize name;  
  87. @synthesize profession;  
  88. #pragma mark----nscoding delegate 2 method--  
  89. - (void)encodeWithCoder:(NSCoder *)aCoder{  
  90. [aCoder encodeObject:name forKey: kName];  
  91. [aCoder encodeObject:profession forKey: kProfession];  
  92. // [aCoder encodeObject:Age forKey: kAge];  
  93. // [aCoder encodeObject:marry forKey:kMarry];  
  94. }  
  95. - (id)initWithCoder:(NSCoder *)aDecoder{  
  96. if(self = [super init]){  
  97. self.name = [aDecoder decodeObjectForKey:kName];  
  98. self.profession = [aDecoder decodeObjectForKey:kProfession];  
  99. //Age = [aDecoder decodeObjectForKey:kAge];  
  100. // marry=[aDecoder decodeObjectForKey:kMarry];  
  101. }  
  102. return self;  
  103. }  
  104. #pragma mark ---------------NSCopying 1 method-------------  
  105. - (id)copyWithZone:(NSZone *)zone{  
  106. person *tmp = [[[self class] allocWithZone:zone] init];  
  107. tmp.name = [self.name copy];  
  108. tmp.profession = [self.profession copy];  
  109. return nil;  
  110. }  
  111. -(void)dealloc{  
  112. [name release];  
  113. [profession release];  
  114. [super dealloc];  
  115. }  
  116. //-(void)setAge:(NSInteger)age andMarry:(Boolean)b{  
  117. // Age = age;  
  118. // marry = b;  
  119. //}  
  120. @end 

小結:iPhone數據存儲之屬性和歸檔Archive的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 新浪博客
相關推薦

2011-08-11 17:15:54

iPhone歸檔

2025-06-04 08:04:26

2013-05-03 11:01:22

iOS開發歸檔永久存儲數據

2011-08-16 18:42:42

iPhone開發Release

2018-11-22 10:40:40

存儲備份數據

2020-09-17 13:15:20

騰訊云冷數據存儲

2010-04-02 15:25:40

云歸檔

2009-01-19 16:09:44

NetApp賽門鐵克歸檔

2010-04-02 15:20:18

云存儲

2011-05-31 17:32:32

Android SharedPref

2011-07-27 12:52:39

賽門鐵克數據歸檔備份廠商

2011-08-17 15:19:38

iPhone應用數據

2011-06-07 17:16:47

iPhone 數據

2025-06-12 00:00:00

對象存儲多站點

2017-11-07 08:36:58

云計算歸檔存儲

2019-11-26 15:12:08

數據存儲B+樹

2015-07-09 13:47:37

IOSFMDB

2011-03-08 09:58:21

海量數據

2018-03-20 09:36:57

數據倉庫數據存儲知識

2011-07-29 15:47:21

iPhone開發 Objective- C
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99在线资源| 亚洲国产成人精品久久久国产成人一区 | av大片在线 | 91精品入口蜜桃 | 国产a视频| 日韩在线一区二区 | 久久精品91久久久久久再现 | 国产一区欧美 | 国产精品二区三区在线观看 | 国外成人免费视频 | 亚洲视频在线看 | 国产一区二区影院 | 精品一区二区三区免费视频 | 盗摄精品av一区二区三区 | 国产成人精品综合 | 一区二区视频在线观看 | 91看片在线观看 | 狠狠插天天干 | 91在线看片 | 日韩区 | 亚洲精品久久久蜜桃 | 精品视频亚洲 | 欧美日韩国产精品一区二区 | 国产一区二区精品在线观看 | 国产一区不卡 | 欧美一级免费看 | 久久久久久免费毛片精品 | 欧美一区免费 | 国产精品久久 | 久久综合久久综合久久 | 亚洲免费大片 | 亚洲欧美精品在线观看 | 日韩精品一区二区三区久久 | 日本不卡免费新一二三区 | 天天干天天爱天天 | 久久亚洲一区二区三 | 中国黄色在线视频 | 国产精品久久久久久久久久久久午夜片 | 免费久久久 | 最新国产精品精品视频 | 免费成人av网站 |