如何根据条件以编程方式移动到tableViewController或viewController

时间:2016-02-01 07:15:14

标签: ios objective-c xcode xcode7.2

我有一个名为A的根视图控制器和一个名为B的表视图控制器。当用户在B中选择一行时,它会打开另一个ViewController。我想说的是,当tableview中只有一行时,它应该在该ViewController中直接打开。 数据以JSON格式出现。

screenshot of app so far

3 个答案:

答案 0 :(得分:1)

if(Option)
    //NSLog(@"%@",Option);
    {
        if (Option.count==1)
        {
            NSDictionary *dict=(NSDictionary*)Option[0];
            NSString *action=[dict valueForKey:@"action"];
        if([action isEqualToString:@"m-deals-json"])
            {
                UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main"
                                                                         bundle: nil];
                UINavigationController *n=[mainStoryboard instantiateViewControllerWithIdentifier:@"DealsNavigation"];
                DealsViewController *v=[mainStoryboard instantiateViewControllerWithIdentifier:@"DealsViewController"];
                v.dict=dict;
                self.window.rootViewController = n;
                [self.window makeKeyAndVisible];
            }
        }
        else
        {
            UINavigationController *n=[mainStoryboard instantiateViewControllerWithIdentifier:@"NavigationController"];
            OffersViewController *v=[mainStoryboard instantiateViewControllerWithIdentifier:@"OffersViewController"];
            self.window.rootViewController = n;
            [self.window makeKeyAndVisible];
        }
    }

答案 1 :(得分:0)

您可以通过检查数组计数来检查这一点,您可以在tableViewController中显示名为B的数据。就像它只包含一个对象一样,在这种情况下< strong>只需按下另一个ViewController而不显示tableViewController。,如果数组包含多于1的对象,,则显示tableViewController。

答案 2 :(得分:0)

如果您的数组计数为1,则只检查您的json响应,然后直接推送到查看控制器,否则推送到tableview控制器。

if(array.count==1)
{
      ////push to view controller 
}
else
{
     ////push to tableview controller"
}