我有一张桌子。当您点击表格的行时,您可以使用准备for segue来获得详细信息。从详细信息页面,我有一个编辑按钮,可让您以模态方式打开以前在故事板中创建的视图控制器。xcode/ios:以编程方式推视图控制器并传递行信息
问题是我该如何传递细节项的行或者给编辑控制器显示什么项的信息?
这里是启动视图控制器的代码。
//create Edit navigation button:
UIBarButtonItem *editButton = [[UIBarButtonItem alloc]
initWithTitle:@"Edit"
style:UIBarButtonItemStylePlain
target:self
action:
//next line calls method editView
@selector(editView:)];
self.navigationItem.rightBarButtonItem = editButton;
//method that fires when you click button to launch edit view controller
- (void) editView:(id) sender
{
NSLog(@"pressed");
UIStoryboard *storyBoard = self.storyboard;
NSString * storyboardName = [storyBoard valueForKey:@"name"];
UIViewController *vc = [[UIStoryboard storyboardWithName:storyboardName bundle:nil] instantiateViewControllerWithIdentifier:@"editvc"];
IDEditVC *secondViewController =
[storyBoard instantiateViewControllerWithIdentifier:@"editvc"];
}
但我该如何传递项目上的信息来编辑?
感谢您的任何建议。
你说的“以前在故事板模态创建”呢?您正在使用editView方法创建控制器。你在那里有一个指针(secondViewController),所以你可以在这个方法中传递你需要的任何信息。这完全不清楚为什么你要在editView中实例化2个控制器,vc和secondViewController,并且你对它们中的任何一个都没有做任何事情。 – rdelmar 2015-04-05 04:48:47
您可以轻松地将数据传递给视图控制器。它取决于你如何将数据作为数组或字符串。您可以在编辑视图控制器中定义变量并从详细信息页面传递数据。 – 2015-04-05 07:12:37