如何根据条件以编程方式移动到 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的主要内容,如果未能解决你的问题,请参考以下文章