我有一个mainViewController
,其中包含container view
。我试图从theMainViewController
访问container view
。
这是我的代码:
self.theMainViewController = (theMainViewController *)self.parentViewController;
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:idx inSection:0];
[self.theMainViewController .tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];
这不起作用。当我self.theMainViewController
nil
时,nslog
会给出self.parentViewController
值。然后我换了:
self presentingViewController
为:
mainViewController
它给了我相同的结果。如何从container view's
班级访问-- synchronize databases
MERGE [ClientDB].[dbo].[Table] trgt
USING [MasterDB].[dbo].[Table] src
ON trgt.ID = src.ID
WHEN MATCHED THEN
-- IF src.LastModified > trgt.LastModified -- if the source is newer
UPDATE SET trgt.[Info] = src.[Info] -- update the target
-- ELSE
-- UPDATE SET src.[Info] = trgt.[Info] -- otherwise update the source
WHEN NOT MATCHED BY SOURCE
THEN DELETE
WHEN NOT MATCHED BY TARGET
THEN INSERT ([Info]) VALUES (src.[Info]);
?
更新
这是我的设置:Static table view inside UIViewController [Xcode 5](我无法添加图片,因此在该答案中发布的图片与我的设置相同。)
答案 0 :(得分:2)
您可以在父视图控制器中使用“prepareForSegue”将self传递给容器视图,如下所示:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"containerview_myIdentifier"]) {
ContainerViewController *vc = [segue destinationViewController];
[vc setReferenceToParentVC:self];
}
}
在ParentViewController类型的ContainerViewController中创建合成属性并将该属性设置为self。
以下是您应该在故事板中看到的内容:
答案 1 :(得分:0)
MainViewController - ContainerView
您在containerview中创建委托,主视图将从此委托实现。