? ? ? ?屬性列表文件是一種XML文件,F(xiàn)oundation框架中的數(shù)組和字典等都可以與屬性列表文件互相轉(zhuǎn)換,如圖1所示。
? ? ? ?圖2是屬性列表文件NotesList.plist,它是一個(gè)數(shù)組,其中有兩個(gè)元素,其元素結(jié)構(gòu)是字典類(lèi)型。圖3是對(duì)應(yīng)的NSArray,它是與NotesList.plist屬性列表文件對(duì)應(yīng)的集合對(duì)象。
? ? ? ?數(shù)組類(lèi)NSArray和字典類(lèi)NSDictionary提供了讀寫(xiě)屬性列表文件的方法,其中NSArray類(lèi)的方法如下所示。
? ? ? ?+ arrayWithContentsOfFile:
? ? ? ?靜態(tài)創(chuàng)建工廠方法,用于從屬性列表文件中讀取數(shù)據(jù),創(chuàng)建NSArray對(duì)象。Swift語(yǔ)言沒(méi)有對(duì)應(yīng)的構(gòu)造器。
??
? ? ? ?– initWithContentsOfFile:
? ? ? ?構(gòu)造器,用于從屬性列表文件中讀取數(shù)據(jù),創(chuàng)建NSArray對(duì)象。Swift語(yǔ)言表示為convenience init?(contentsOfFile aPath:String)。
??
? ? ? ?– writeToFile:atomically:
? ? ? ?該方法把NSArray對(duì)象寫(xiě)入到屬性列表文件中,它的第一個(gè)參數(shù)是文件名,第二個(gè)參數(shù)為是否使用輔助文件,如果為true,則先寫(xiě)入到輔助文件中,然后將輔助文件重新命名為目標(biāo)文件,如果為false,則直接寫(xiě)入到目標(biāo)文件。
? ? ? ?NSDictionary類(lèi)的方法如下所示。
? ? ? ?+ dictionaryWithContentsOfFile:
? ? ? ?靜態(tài)創(chuàng)建工廠方法,用于從屬性列表文件中讀取數(shù)據(jù),創(chuàng)建NSDictionary對(duì)象。Swift語(yǔ)言沒(méi)有對(duì)應(yīng)的構(gòu)造器。
??
? ? ? ?– initWithContentsOfFile:
? ? ? ?構(gòu)造器,用于從屬性列表文件中讀取數(shù)據(jù),創(chuàng)建NSDictionary對(duì)象。Swift語(yǔ)言表示成convenience init?(contentsOfFile Path:String)。
? ? ? ?– writeToFile:atomically:
? ? ? ?將NSDictionary對(duì)象寫(xiě)入到屬性列表文件中,它的一個(gè)參數(shù)是文件名,第二個(gè)參數(shù)為是否使用輔助文件,如果為true,則先寫(xiě)入到輔助文件中,然后將輔助文件重新命名為目標(biāo)文件,如果為false,則直接寫(xiě)入到目標(biāo)文件。