gpt4 book ai didi

iPhone。 UITableView 和推送 View Controller

转载 作者:行者123 更新时间:2023-12-03 20:49:19 24 4
gpt4 key购买 nike

我的 View Controller 中有一个正在运行的 UITableView。它正在成功填充并且看起来很好。但是,当我尝试使用以下函数时,未加载新 View (调用函数,我从 NSLog 获取输出):

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"asf");
[self.navigationController pushViewController:sendRequestFavoriteController animated:YES];
}

可能出现什么问题?我没有收到任何编译或调试错误/警告。

编辑:我尝试手动分配和初始化 View Controller 。我相信 Plamen 是对的,因为 self.navigationController 为零。然而,我还没有成功。

EDIT2:我在应用程序的其余部分成功使用了 [self.navigationController PushViewController:.. 函数。这是唯一的异常(exception)。当我有 UITableView 时,navigationController 为零。这是为什么?该怎么办?

alt text http://files.droplr.com/files/11625842/AUk9W.Screen%20shot%202010-03-14%20at%2009.56.42.png

最佳答案

为此,您应该使用 UINavigationController。那是你的问题。并且您需要初始化 sendRequestFavoriteController。除了将其声明为属性(property)之外,还有更多事情要做。这不仅仅是为您“神奇地创建”这个对象。通常,您会先创建该对象,然后再将其插入堆栈,如下所示:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"asf");

SendRequestFavoriteController *aController = [[SendRequestFavoriteController alloc] initWithNibName:@"theNameOfTheNib" bundle:nil];
self.sendRequestFavoriteController = aController;
[aController release];

[self.navigationController pushViewController:sendRequestFavoriteController animated:YES];
}

但我认为没有必要将 sendRequestFavoriteController 声明为 ivar。这样你就可以做到这一点(并摆脱你的属性(property)和 ivar):

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"asf");

SendRequestFavoriteController *aController = [[SendRequestFavoriteController alloc] initWithNibName:@"theNameOfTheNib" bundle:nil];
[self.navigationController pushViewController:sendRequestFavoriteController animated:YES];
[aController release];
}

要使用 UINavigationController,您需要将当前的 UIViewController 替换为具有此 UIViewControllerUINavigationController > 在里面。
看看View Controller Programming Guide由苹果公司提供。
编辑:“当前”是指所选选项卡“历史”。或者您正在谈论的任何 View Controller 。

关于iPhone。 UITableView 和推送 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2441667/

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