2010-11-18 19 views
2

Birisi, normal plist ve ikili plist arasındaki farkı ve nasıl farklı bir işlem yaptıklarını bana bildirebilir mi? İkili bir plist'i işlemek için fazladan ihtiyacım olan bir şey var mı?İkili bir Plist'in işlenmesi

cevap

3

İkili Plists böyle insan tarafından okunabilir XML saklanmaz:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
     <key>SUFeedURL</key> 
     <string>http://www.hedgewars.org/download/appcast.xml</string> 
     <key>SUHasLaunchedBefore</key> 
     <true/> 
     <key>SULastCheckTime</key> 
     <date>2010-11-15T22:00:36Z</date> 
</dict> 
</plist> 

Bunun yerine, düşük dosya boyutu ile sonuçlanır Apple'ın özel yöntemler kullanılarak saklanan ediyoruz. Bu örnek (Hedgewars tercihleri) 378 bayttır, ancak ikili biçimde 162 bayttır.

İyi haber, NSUserDefaults gibi yerleşik araçların bu biçimleri birbirinin yerine kullanabilmesidir. NSArray'un -arrayWithContentsOfFile: yöntemi gibi diğer yöntemleri kullanmak da işe yaramalıdır.

İkisi arasında dönüştürmek için, Mac'inizde yüklü olan /usr/bin numaralı plutil uygulamasını kullanabilirsiniz. Bir örnek aşağıda verilmiştir: Bu, verilen yolu XML'ye dönüştürecek olan bu plise dönüştürecektir. Geçerli biçimler (şimdilik) xml1 ve binary1'dur.

Property List Programming Guide'a da baktığınızdan emin olun.

İlgili konular