[問題] Archiving
Foundation framework的七大資料物件:
NSNumber、NSString、NSSet、NSArray、NSDictionary、NSDate、NSData
以下非此七大資料物件皆稱為「其他物件」、instance variables稱「ivar」
1.NSKeyedArchiver是否只能對這七種資料物件進行Archiving?
我的理解是:
任何其他物件都必須遵照NSCoding protocol將其ivar進行encoding
若其ivar為七大資料物件之一的型別,則程式工作到此即可
但若其ivar又為其他物件,則此物件必須也是遵照NSCoding protocol
直到所有的要archiving的物件,皆為七大資料物件型別為止。
因此NS只有這七種資料物件型別,不會有第八種
這樣理解有錯嗎?
2.在Foundation framework中能夠用plist進行archiving的
除了NSSet之外,其他六種都可以。為什麼設計上NSSet沒有內定此功能?
即initWithContentsOfFile: 和writeToFile:atomically: 之類的method
其他物件也可以用XML file進行archiving嗎?
如果可以,要怎麼編寫initWithContentsOfFile:及writeToFile:atomically:?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.13.42.121
※ 編輯: leondemon 來自: 163.13.42.121 (10/03 03:33)
※ 編輯: leondemon 來自: 163.13.42.121 (10/03 03:57)
→
10/04 14:30, , 1F
10/04 14:30, 1F
→
10/04 20:26, , 2F
10/04 20:26, 2F
→
10/04 20:28, , 3F
10/04 20:28, 3F
→
10/04 20:30, , 4F
10/04 20:30, 4F
→
10/04 20:31, , 5F
10/04 20:31, 5F