2013-10-12 4 views
0

Мой «Недвижимость List2» ниже:PLIST Тип: dictionay в UITableView

<?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>Police</key> 
    <dict> 
     <key>UserName</key> 
     <string>PoliceStation</string> 
     <key>Image</key> 
     <string>PoliceStation.png</string> 
     <key>Number</key> 
     <string>1241241244</string> 
     <key>Address</key> 
     <string>TaichungNorth</string> 
    </dict> 
     <key>Fire</key> 
    <dict> 
     <key>UserName</key> 
     <string>FireFighter</string> 
     <key>Image</key> 
     <string>FireFighter.png</string> 
     <key>Number</key> 
     <string>21324124</string> 
     <key>Address</key> 
     <string>TaichungEast</string> 
    </dict> 
     <key>Taichung</key> 
    <dict> 
     <key>UserName</key> 
     <string>TaichungGovernment</string> 
     <key>Image</key> 
     <string>TaichungGovernment.jpg</string> 
     <key>Number</key> 
     <string>3252342342</string> 
     <key>Address</key> 
     <string>TaichungWest</string> 
    </dict> 
    </dict> 
</plist> 

Как загрузить каждый «UserName» и «Image» в UITableView особенно когда типа являются «словарь» не „массив“? ?

UITableView покажет каждый "UserName" текст в центре, и каждый "Image" на левой стороне

ответ

0

Вы можете разобрать PLIST в справочник:.

NSString *path = [[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"plist"]; 
NSDictionary *objects = [NSDictionary dictionaryWithContentsOfFile:path]; 

Чем вы можете перебирать все ключи и создавать объекты для представления в виде таблицы:

NSMutableArray *parsedObjects = [NSMutableArray array]; 
[objects enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { 
    Object *object = [[Object alloc] init]; 
    [object setUserName:obj[@"UserName"]]; 
    ... 
    [parsedObjects addObject:object]; 
}]; 

Чем вы должны реализовать Tableview: cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
    ... 
    Object *object = parsedObjects[indexPath.row]; 
    [cell setObject:object]; 

    return cell; 
    } 

и реализовать данные, показывающие, в клетке.

+0

Здравствуйте, AIKo. У меня есть вопрос с кодом: 'Object * object = [[Object alloc] init]; [object setUserName: obj [@ "UserName"]]; ' Что такое объект? Это для UITableView? и объект для? и нет метода, называемого setUserName .. Извините, я только что научился программированию на iOS в течение 1 месяца .. Пожалуйста, помогите, спасибо! – user2871337

Смежные вопросы