gpt4 book ai didi

iphone - Segues 无法以编程方式工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:17:38 24 4
gpt4 key购买 nike

我根据以下说明将一个项目从使用 XIB 迁移到 Storyboard:https://stackoverflow.com/a/9708723/2604030一切顺利。但是我不能让 segues 以编程方式工作,我需要以这种方式使用它们,因为我有 2 个按钮链接到同一个 ViewController,但类型不同,希望你能从这张图片中理解为什么。

enter image description here有 2 个难度模式按钮。我使用的代码:

`- (IBAction)btnNormalAct:(id)sender {
LevelController *wc = [[LevelController alloc] initWithNibName:@"LevelController" type:0];
[self.navigationController pushViewController:wc animated:YES];
}

- (IBAction)btnTimedAct:(id)sender {
LevelController *wc = [[LevelController alloc] initWithNibName:@"LevelController" type:1];
[self.navigationController pushViewController:wc animated:YES];
}`

这在我使用 XIB 时有效,而且我确信我在 Storyboard 的 VC 中正确链接了所有内容。如果我从 Storyboard 中制作海牙,它们就会起作用。但是我该如何处理这种情况。

另外:从 XIB 更改为 Storyboard 时,这些台词是否合适?这是进行此更改的正确方法(上面链接中显示的方法)吗?

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
}

最佳答案

您可以使用 PrepareForSegue 方法在调用传入 View Controller 之前对其进行设置:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
{
// Get reference to the destination view controller
LevelController *vc = [segue destinationViewController];

// Pass any objects to the view controller here, like...
[vc setType:1];
}
}

关于iphone - Segues 无法以编程方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18388515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com