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

Posted

技术标签:

【中文标题】如何根据条件以编程方式移动到 tableViewController 或 viewController【英文标题】:How to programmatically move to tableViewController or viewController based on condition 【发布时间】:2016-02-01 07:15:13 【问题描述】:

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

screenshot of app so far

【问题讨论】:

如你所愿,你也可以处理多行,这不是问题 在Delegate里面怎么做才能直接打开。 如果您的数组计数为 1,则只需检查 json 响应,然后直接推送到视图控制器,否则推送到 tableview 控制器.. 【参考方案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];
        
    

【讨论】:

【参考方案2】:

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

if(array.count==1)

      ////push to view controller 

else

     ////push to tableview controller"

【讨论】:

@ChandanAnand 没有看到代码,没有人能够告诉你应该在哪里应用它。显示图像对此毫无意义。这个答案足以让您使用它。没有人会为您编写应用程序【参考方案3】:

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

【讨论】:

以上是关于如何根据条件以编程方式移动到 tableViewController 或 viewController的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式折叠 UIView?

以编程方式并排添加不同宽度的 UILabel

如何以编程方式重新排序primefaces数据表中的列

如何移动 UIView 并使用 Swift 以编程方式放置新的 UIView?

病毒扫描后以编程方式移动文件

达到字符数后,如何以编程方式将光标从一个 NSTextField 移动到另一个?