2011-08-28 70 views
0

我創建了一個名爲「醫院」的plist,插入第一行作爲一個數組,其中包含三個項目作爲字符串。plists - iOS開發(NSString)

有什麼錯我的代碼:

NSArray *hospitals = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Hospitals" ofType:@"plist"]]; 
    NSString *first = [[NSString alloc] initWithFormat:@"%@", [hospitals objectAtIndex:0]]; 
    NSLog(@"%@",first); 

這是給我的(空)的結果!

+0

描述性標題。 – 2011-08-28 10:48:50

回答

0

試試這個:

NSString *errorDesc = nil; 
NSPropertyListFormat format; 
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:[[NSBundle mainBundle] pathForResource:@"Hospitals" ofType:@"plist"]]; 
NSMutableDictionary *properties = (NSMutableDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc]; 
NSArray *hospitals = (NSArray *)[properties valueForKey:@"names"]; 
NSString *first = [hospitals objectAtIndex:0]; 
NSLog(@"%@",first); 
+0

這沒有奏效! PLZ閱讀最佳答案的評論! – user916316

+0

請把你的plist的內容放在這裏。 – Nekto

+0

names - array - (3 items) item 0 - string - first item 1 - string - second item 2 - string - third – user916316

1

無論是屬性列表文件不存在(檢查「複製資源」建設目標的階段),具有不同的名稱(請注意,iOS版」文件系統的情況下敏感),根本不是屬性列表(可能它有語法錯誤),不可讀或屬性列表的根不是數組,而是字典。

如果hospitals == nil以上任何一個都是問題所在。

+0

-i在我的(複製資源)中找到了plist -i也處理了區分大小寫的事情, - plist root是一個數組! 我不知道有什麼問題! &醫院== nil爲TRUE:S – user916316

+0

@ user916316嘗試清理項目並重新構建它。 – 2011-08-28 11:10:01

+0

清潔也沒有幫助! – user916316