gpt4 book ai didi

iphone - 调用在不同文件头中定义的变量?

转载 作者:行者123 更新时间:2023-11-28 17:44:14 25 4
gpt4 key购买 nike

我是 iOS 开发新手,对变量有疑问。我正在尝试编写一个带有标签栏和导航 Controller 的应用程序,标签栏是 rootViewController。我已将我的应用程序设置为包括一个包含我的 TableView 行为的 .plist、一个 UITableViewController 和一个详细 View Controller 。当我在 App 委托(delegate)中定义导航 Controller 时,我的初始 TableView Controller 的实现文件中继续出现一个错误。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

//Get the dictionary of the selected data source.
NSDictionary *dictionary = [self.tableDataSource objectAtIndex:indexPath.row];

//Get the children of the present item.
NSArray *Children = [dictionary objectForKey:@"Children"];

if([Children count] == 0) {

DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:dvController animated:YES];
[dvController release];
}
else {

//Prepare to tableview.
IndustryTableViewController *industryTableViewController = [[IndustryTableViewController alloc] initWithNibName:@"IndustryTableViewController" bundle:[NSBundle mainBundle]];

//Increment the Current View
industryTableViewController.CurrentLevel += 1;

//Set the title;
industryTableViewController.CurrentTitle = [dictionary objectForKey:@"Title"];

//Push the new table view on the stack
[self.indNavControl pushViewController:industryTableViewController animated:YES];

industryTableViewController.tableDataSource = Children;

[industryTableViewController release];
}

当我将新 TableView 压入堆栈时出现错误。我正在导入我的应用程序委托(delegate)的头文件,但它仍然无法正常工作,给我一个错误,“变量未在 TableViewController.h 中定义”。有没有办法让我调用这个变量,或者有没有更有效的方法来解决这个问题?

提前致谢,我真的可以使用你给我的任何帮助。

最佳答案

您可以获得指向您的 appDelegate 的指针,然后像这样获取您的变量:

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];

另一种方法是使用依赖注入(inject),并在您创建 Controller 时将引用注入(inject)到您的 Controller 中。所以基本上在你的 Controller 中定义一个 ivar 来保存一个引用然后这样做:

[myController new];
[myController setController:otherController];

关于iphone - 调用在不同文件头中定义的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6863391/

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