2011-08-08 13 views
6

Dizimi, .Plist'imdeki bir diziden yüklemeye çalışıyorum ancak çalışmıyor.Yükleme Dizisi .Plist

enter image description here

Bu kullanıyorum kodudur:

NSString *path = [[NSBundle mainBundle]pathForResource:@"DiseasePropertyList" ofType:@"plist"]; 
NSMutableArray *rootLevel = [[NSMutableArray alloc]initWithContentsOfFile:path]; 
self.myArray = rootLevel; 
[rootLevel release]; 
+8

Bu listeyle tehlikeli görünüyorsun! – Moshe

cevap

9

Bunu deneyin. Lütfen dosya adını değiştir. İyi çalışıyor.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *recentFilePath = [documentsDirectory stringByAppendingPathComponent:@"recent.plist"]; 
NSArray *history = [NSArray arrayWithContentsOfFile:recentFilePath]; 
+2

Başka bir yol: \t NSURL * url = [[NSBundle mainBundle] URLForResource: @ "DiseasePropertyList" withExtension: @ "plist"]; \t NSArray * myArray = [NSArray dizisiWithContentsOfURL: url]; ' –

2
NSString *pathStr = [[NSBundle mainBundle] bundlePath]; 
NSString *finalPath = [settingsBundlePath stringByAppendingPathComponent:@"yourproject.plist"]; 
NSDictionary *settingsDict = [NSDictionary dictionaryWithContentsOfFile:finalPath]; 

ve sadece settingsDict açıklamasını kontrol

Plist buna benzemez. Umarım bu size yardımcı olur.

5

Sizin döküman aslında bir sözlüktür. Dizi, anahtar "Array" için bu sözlüğün nesnesidir. "Array" öğesini seçip (CMD-x) keserek ve ardından boş plist'e (CMD v) yapıştırarak, Xcode 4'te bir dizi içine plist yapabilirsiniz. senin Plist dosyası Başvurunuz pakette ise

+2

Bunun büyük olasılıkla bir sorun olduğunu söyleyebilirim. Ayrıca plist'i kaynak olarak görüntüleyebilir ve dosyadan '' ve '' etiketlerini kaldırabilirsiniz (her zaman yaparım). – theMikeSwan

+2

Ayrıca, başlangıç ​​etiketinden sonra .. etiketini kaldırın. Bu kesinlikle benim için sorunu çözecektir .... – DShah

2

, en kolay şudur:

NSArray *myArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"filename_without_extension" ofType:@"plist"]]; 
0

Kullanım benim için iyi çalıştı bu yöntem.

NSArray *country= [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"CountryList" ofType:@"plist"]];