Plists действительно полезен для многих случаев:
+ (NSMutableDictionary*) containerDictionary {
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"ContainerGraphics.plist"];
NSMutableDictionary *plistData = [NSMutableDictionary dictionaryWithContentsOfFile:finalPath];
return plistData;
}
Это загружает Plist файл (Список недвижимости) под названием "ContainerGraphics.plist" из моего приложения пачки.
Файл plist на самом деле представляет собой только XML-файл. Вы можете построить его в Xcode, выбрав «новый файл» -> «ресурс» -> «Список свойств».
Вы на самом деле не сказать, что это вы не понимаете, так что если есть что-то конкретное, что вы найдете трудно понять, пожалуйста, подробно :)
EDIT:
С PLIST вы post, используйте мой вышеприведенный подход для загрузки файла plist. Тогда это NSDictionary из NSDictionaries ..
Таким образом, чтобы в словарь «Apple» вы идете:
NSDictionary *appleDictionary = [plistData objectForKey:@"Apple"];
Это означает что-то вместе - войти в список и получить «Apple» словарь.
Теперь, чтобы получить изображение и описание значения, которые вы бы пойти:
NSString *imagePath = [appleDictionary objectForKey:@"image"];
NSString *descriptionString = [appleDictionary objectForKey:@"description"];
То есть довольно много, что есть к этому.
Если у вас есть таблицаView, которая должна быть заполнена этими данными, есть улов! Данные в NSDictionary не имеют порядка. Поэтому вы не можете просто ссылаться на [dictionary objectAtIndex: indexPath.row], как это было бы с массивом данных для tableView.
Что вы делаете, так это сначала получить plistData, как в моем первом примере. (сделайте это в поле зренияDidLoad). Затем вы извлекаете все ключи из словаря plistData - обратите внимание, что «верхний словарь специфичен», «Яблоко», «Оранжевый» и т. Д., А не значения, которые вы хотите скопировать в свое приложение. Но, словари внутри этих словарей вообще, изображение, описание ...
Итак:
NSArray *allKeys = [plistData allKeys];
массив allKey теперь содержит ключи (Apple, Orange и т.д.), чтобы добраться до NSDictionaries в plistData.
В методе cellForRowAtIndexPath теперь вы можете пойти:
NSDictionary *dictionaryForCurrentCell = [plistData objectForKey:[allKeys objectAtIndex:indexPath.row]];
[cell.textLabel setText:[dictionaryForCurrentCell objectForKey:@"image"]];
[cell.detailLabel setText:[dictionaryForCurrentCell objectForKey:@"description"]];
Надеется, что это помогает :)
Может ли вы предоставить более подробную информацию? Что вы имеете в виду, используя плиты для этого? – ughoavgfhw
Только что заметил опечатку в моем последнем комментарии. Я имел в виду плиты, а не щели. – ughoavgfhw
Я отредактирую свой вопрос. – Souljacker