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

How to programmatically move to tableViewController or viewController based on condition

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

screenshot of app so far

您可以通过检查 数组计数 来管理此问题,您通过它在名为 B 的表 ViewController 中显示数据。就像 它包含只有一个对象,在那种情况下只需推送另一个ViewController而不显示表ViewController。 如果数组包含对象更多than 1, then display tableViewController.

你只要检查你的 json 响应,如果你的数组计数是一个,然后直接推送到视图控制器,否则推送到表视图控制器。

if(array.count==1)
{
      ////push to view controller 
}
else
{
     ////push to tableview controller"
}
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];
        }
    }