根据下载的配置文件创建 segue

Create segue based on a downloaded config file

提问人:Morniak 提问时间:5/6/2014 最后编辑:CommunityMorniak 更新时间:5/6/2014 访问量:48

问:

为了进行高级 A/B 测试,我希望能够基于配置文件创建 segue。

在启动时,我的应用程序会下载一个包含信息的 JSON 文件,以动态创建主页的各个部分。

例如,如下所示的 JSON 将在主视图上创建 2 个按钮。第一个是蓝色的,标签为“button1”,第二个是红色的,标签为“button2”。

{
"elements":
    "0": {
        "type": "button",
        "label": "button1"
        "color": "blue"
    },
    "1": {
        "type": "button",
        "label": "button2"
        "color": "red"
    }
};

现在,我想在JSON中添加如下内容:其中goto键的值是单击按钮时显示的视图。"goto": "OptionViewController"

我希望能够添加或删除 mainPage 的按钮(我明白该怎么做)并远程更改链接到按钮的视图(这是我的问题),只需更改下载的 JSON。

问题在于,要从一个视图移动到另一个视图,我不仅需要新视图的名称,还需要 segue。

这篇文章说不可能以编程方式创建 segue。

我发现的唯一解决方案是让每个视图都创建一个到其他视图的 segue,但这非常肮脏。

IOS Objective-C Storyboard segue AB 测试

评论

0赞 user3071962 5/6/2014
你使用的是故事板吗?
0赞 Morniak 5/6/2014
是的,我正在使用故事板
0赞 user3071962 5/6/2014
请帮助我进一步理解:你不能在故事板中创建 segue 然后像这样执行 segue 吗:?[self performSegueWithIdentifier:@"showManufacturers" sender:self];

答:

2赞 user3071962 5/6/2014 #1

如果您使用的是 Storyboard,并且其中定义了要访问的视图控制器,并且标识符为“OptionViewController”,则可以执行以下操作:

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@“Main” bundle:nil];
OptionViewController *ovc = [storyboard instantiateViewControllerWithIdentifier:@“OptionViewController”];

[self presentViewController:ovc
                   animated:YES 
                 completion:nil];