Как получить значение от делегата и перезагрузить представление - PullRequest
0 голосов
/ 29 июля 2011

Я занимаюсь разработкой приложения для iPad, и я впервые использую представление popover. Я использую представление popover как меню с категориями, и у меня есть только 1 экран с видео. Когда пользователь выбирает категорию, «FeaturedViewController» должен перезагрузить представление с новым playlistId.

Когда пользователь выбирает категорию, это легко сделать: double playlistId = [[playlists.items objectAtIndex:indexPath.row] playlistId];

Но как мне получить этот playlistId в моем FeaturedViewController и перезагрузить представление?

Ответы [ 2 ]

0 голосов
/ 02 августа 2011

Посмотрите:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// load new playlist
BCPlaylist *playlist = (BCPlaylist *) [playlists.items objectAtIndex:indexPath.row];
NSNumber *key = [NSNumber numberWithDouble:playlist.playlistId];
NSLog(@"Key: %@", key);
FeaturedViewController *nextView = [[FeaturedViewController alloc] initWithNibName:nil bundle:nil];
nextView.PLID = key;
[self.navigationController pushViewController:nextView animated:YES];
[nextView release];
}

Ключ NSlogs правильно, но я вообще не получаю ответ от nextView.PLID в FeaturedViewController.

0 голосов
/ 29 июля 2011

в вашем FeaturedViewController.m

- (void)viewDidLoad 
{
     //create reference of your delegate
    YourAppDelegate rootApp = (YourAppDelegate *)[[UIApplication sharedApplication]delegate];

     double playlistId = [[[[rootApp playlists] items] objectAtIndex:indexPath.row] playlistId ];
    [super viewDidLoad];
}

EDITED

Или вы можете определить свойство в FeaturedViewController и назначить значение в этом VC как:

FeaturedViewController  nextView = [[FeaturedViewController alloc] initWithNibName:@"FeaturedViewController" bundle:nil];
 //below lineset the value of property and you can pass value to nextView
    nextView.playlistId = [[playlists.items objectAtIndex:indexPath.row] playlistId]; ;
    [self.navigationController pushViewController:nextView animated:YES];

надеюсь, это даст вам идею доступа к переменной делегата

...