gpt4 book ai didi

ios - didSelectItemAtIndexPath pushViewController

转载 作者:行者123 更新时间:2023-11-28 22:37:32 27 4
gpt4 key购买 nike

我正在尝试完成一些非常简单的事情。当我的 Collection View 中的唯一项目被推送时,我试图以编程方式推送到 viewController。什么都没发生。我相信在我纠结的一团糟中有不止一个问题。我对数组基础知识的理解显然不过如此。如果我在下面的 if 语句中放入 NSLog 行,则在推送我的单独项目时我什么也得不到。这是我的 didSelectItemAtIndexPath 方法:

NSMutableArray *itemApp = [model.viewControllers objectAtIndex:indexPath.row];

if (itemApp == 0) {
NSLog (@"This does not appear")
TableViewController *ctc = [[TableViewController alloc] initWithStyle:UITableViewStylePlain];
[self.navigationController pushViewController:ctc animated:YES];
}

模型在viewDidLoad中定义:

    model = [[SimpleModel alloc] init];

.m实现中提到了SimpleModel:

@implementation smileController;

{
SimpleModel *model;
}

viewControllers 是 SimpleModel 类及其 friend 应用程序的属性:

@property (nonatomic, strong) NSMutableArray *apps;
@property (nonatomic, strong) NSMutableArray *viewControllers;

这是SimpleModel.m

 - (id)init
{
if (self = [super init])
{

self.apps = [NSMutableArray arrayWithObjects:@"1", nil];

self.viewControllers = [NSMutableArray arrayWithCapacity:self.apps.count];

TableViewController *tvc = [[TableViewController alloc] init];

[self.viewControllers addObject:tvc];
}
return self;
}

最佳答案

SimpleModel.m 中,您使用单个 TableViewController 填充 viewControllers 数组。

鉴于此,当您发布的第一个代码块应该更像这样:

TableViewController *itemApp = [model.viewControllers objectAtIndex:indexPath.row];

if (itemApp) {
NSLog (@"This should appear")
[self.navigationController pushViewController:itemApp animated:YES];
}

这假设您想要推送从 model.viewControllers 属性获得的 View Controller 。

请注意,如果 modelmodel.viewControllersnil,则 itemApp 只能为 nil

关于ios - didSelectItemAtIndexPath pushViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15509831/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com