Izz*_*npo 9 uiviewcontroller tableview ios5
我是iOS开发的新手,所以请放轻松我吧:)
使用适用于iOS 5的Xcode 4.2,我在IB中构建了一个视图控制器,其中的tableview通过push segue链接到详细视图控制器(在表视图单元级别)
我想根据所选单元格的索引,使用我的数据源中的数据设置详细页面标签.最初我编写"didSelectRowAtIndexPath"只是为了发现在segue处理之后调用它,并发现我需要调用prepareForSegue而不是
我的问题是,无论我尝试什么,因为tableView不是prepareForSegue的传递参数(与我迄今为止使用的大多数其他方法不同),我很难在视图控制器中访问tableView以便调用indexPath方法,这样我可以引用我的数据源
我已经看到很多使用self的例子,如下所示,但是这会导致一个错误,指出viewView在视图控制器中不存在
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
DetailViewController *detail = [segue destinationViewController];
detail.primary = [datasource objectAtIndex:selectedIndexPath.row];
detail.seconday = [datalist objectForKey:detail.primary];
}
Run Code Online (Sandbox Code Playgroud)
我也试过用
ViewController *main = [segue viewController];
Run Code Online (Sandbox Code Playgroud)
而不是使用自我,但这导致相同的问题
我知道我可以将示例重写为Table View Controller,但是想知道这是否可能?正如我所见,人们在开发中使用这两种方法
作为参考,我正在学习本教程... http://kurrytran.blogspot.com/2011/10/ios-5-storyboard-and.html
当我到达完成详细信息页面的部分时,我想,为什么不使用segue将表格视图单元格链接到详细信息页面,并在显示详细信息页面之前编写状态和资本的复制代码.从本教程中可以看出,主控制器是一个视图控制器
我的理解是,如果需要在以后开发更复杂的东西,不使用UITableViewController会给任何应用程序更大的灵活性
希望你可以帮忙,Izzy
小智 9
我也是iOS的新手,但它的价值在于:
听起来你需要在UIViewControllerClass中创建一个指向表视图对象的指针.
@interface YourClass : UIViewController
{
IBOutlet UITableView *MyTableView;
}
@property ... IBOutlet UITableView *MyTableView;
Run Code Online (Sandbox Code Playgroud)
...然后将其连接到IB中的"表格视图".这样,在prepareForSegue中,您可以访问UITableView对象.
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *selectedIndexPath = [self.MyTableView indexPathForSelectedRow];
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16147 次 |
| 最近记录: |