问题与推动DetailViewController和UITableView的
问题描述:
更新问题与推动DetailViewController和UITableView的
DetailViewController *wordDetail = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
wordDetail.wordWordString = [[NSString alloc] initWithString:[[myArray objectAtIndex:indexPath.row] objectForKey:@"word"]];
wordDetail.wordDefinitionString = [[NSString alloc] initWithString:[[myArray objectAtIndex:indexPath.row] objectForKey:@"definition"]];
wordDetail.title = [[myArray objectAtIndex:indexPath.row] objectForKey:@"name"];
[self performSegueWithIdentifier:@"showDetail" sender:self];
这里是我的新的赛格瑞准备(做你的意思是我不需要说了,如果我用上面的方法,或者在所有?我其实现在如果确定我所有的标识都排着队......你觉得呢?
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if ([[showDetail] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSDate *object = _objects[indexPath.row];
[[segue destinationViewController] setDetailItem:object];
图可能会有所帮助,看看我的DetailViewController.m太...
-(void)setDetailItem:(id)newDetailItem
{
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;
// Update the view.
[self configureView];
}
if (self.masterPopoverController != nil) {
[self.masterPopoverController dismissPopoverAnimated:YES];
}
}
-(void)configureView
{
//Update the user interface for the detail item.
if (self.detailItem) {
self.detailDescriptionLabel.text = [self.detailItem description];
}
}
- (void)viewDidLoad
{
wordWordLabel.text = wordWordString;
wordDefinitionLabel.text = wordDefinitionString;
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self configureView];
}
答
你的第一部分代码很好。然而,它正在创建一个DetailViewController,然后推动它。这意味着从来没有Segue,所以你的第二个代码根本就不重要。你需要决定你想使用哪一个。
[self.navigationController pushViewController:wordDetail animated:YES];
该行将一个viewController放在堆栈上。 OR
[self performSegueWithIdentifier:@"showDetail sender:self];
将在故事板中使用名为showDetail的segue。你不能拥有两个,你需要选择。
故事板标识符
确定。会相应调整并报告回来。谢谢。 – 2013-03-01 18:37:53
好的。对原始问题进行编辑。谢谢。我不知道标识符是什么。 – 2013-03-01 18:48:34
标识符是您在Storyboard中设置的内容。点击您在Storyboard中创建的segue,然后在右侧的检查器中,您会看到一个可以填写的标识符字段。 – 2013-03-01 19:10:09