2013-04-18 2 views
0

Я хотел бы заполнить таблицу с помощью NSMutableData, полученной из webservice. Я могу получить данные и отобразить на нескольких компонентах, но не могу заполнить таблицу, потому что следующий код не принимает NSMutableData;заполнение таблицы с помощью nsmutabledata, полученной из webservice

AnyNSarray = [NSPropertyListSerialization propertyListWithData: webData options: 0 format:&plf error: &error]; 
//webData is NSMutableData that i populate with webservice data and AnyNSarray is a NSArray to provide tableview at 
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Вот Tableview заселение блоки (также следующий код работает зрения нагрузок, но не выстрелил еще раз после того, как я нажимаю кнопку):

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
NSString *CellIdentifier = [NSString stringWithFormat:@"cell%i",indexPath.row]; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 
    cell.textLabel.text = [birnsarray objectAtIndex:indexPath.row]; 
    cell.detailTextLabel.text = @"any details"; 
} 
return cell; 

} 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return AnyNSarray.count; 
} 
+2

Какие типы объектов массив содержит? Он будет работать только в том случае, если типы NSString. Обратите внимание, что вы не повторно используете свои ячейки с этой ячейкой формата% i. Потому что идентификатор никогда не совпадает. – pbibergal

+0

вы используете birnsarray в этой строке, cell.textLabel.text = [AnyNSarray objectAtIndex: indexPath.row]; – BhushanVU

ответ

1
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return [birnsarray count]; 
} 
0

Эй в numberOfRows функции вы возвращаете AnyNSarray количество, поэтому заменить ваш cellForRowAtIndexPath с приведенным ниже кодом.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
NSString *CellIdentifier = [NSString stringWithFormat:@"cell%i",indexPath.row]; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 
    cell.textLabel.text = [AnyNSarray objectAtIndex:indexPath.row]; 
    cell.detailTextLabel.text = @"any details"; 
} 
return cell; 

} 

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

  • Нет связанных вопросов^_^