2012-04-05 3 views
0

Я пытаюсь разработать стол для чтения RSS Reader с раскадровкой в ​​приложении с вкладкой. Мне удалось заполнить мой RootTableViewController анализируемым XML. У меня возникла проблема с тем, как заставить каждую строку в моем RootTableViewController указывать и передавать данные из выбранной ячейки в другой DetailTableViewController.UITableView to detail UITableView сверлить с помощью раскадровки

Это часть моего кода для разбора XML и для заполнения RootTableViewController:

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *CellIdentifier = @"AdvCurrentCelly"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 
    int storyIndex = [indexPath indexAtPosition: [indexPath length] - 1]; 
    NSString *description = [[stories objectAtIndex: storyIndex] objectForKey: @"description"]; 
    NSString *title = [[stories objectAtIndex: storyIndex] objectForKey: @"title"]; 

    //This populates the prototype cell 'AdvCurrentCelly' 
    cell.textLabel.text = title; 
    //cell.textLabel.text = date; 
    cell.detailTextLabel.text = description 

    return cell; 

} 

В раскадровке, название Segue из клетки RootTableViewContoller к DetailTableViewController является ShowADVDetail

Помощь много оценили

Jan

ответ

1

Вы можете передавать любой тип данных, но я покажу вам, как передать строку заголовка. Давайте назовем его myString. Прежде всего, необходимо добавить свойство в вашем DetailTableViewController.h хранить строку:

@property (strong, nonatomic) NSString *myString

В вас RootTableViewController вы должны сказать SEGUE, что делать. Используйте этот код в качестве примера:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    // Refer to the correct segue 
    if ([[segue identifier] isEqualToString:@"ShowADVDetail"]) { 

     // Reference to destination view controller 
     DetailTableViewController *vc = [segue destinationViewController]; 

     // get the selected index 
     NSInteger selectedIndex = [[self.teamTable indexPathForSelectedRow] row]; 

     // Pass the title (from your array) to myString in DetailTableViewController: 
     vc.myString = [NSString stringWithFormat:@"%@", [[stories objectAtIndex:selectedIndex] objectForKey: @"Title"]]; 
    } 
} 
Смежные вопросы