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