UIApplication sharedApplication帮助?
我试图访问一个变量,创建一个导航控制器,我在我的应用程序委托在视图控制器中定义(我正在构建一个标签栏应用程序与每个选项卡.plist,如向下钻取应用程序)。 我试图摆脱错误,说“请求会员”indNavControl“的东西不是结构或工会,有人可以帮我吗?
码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
A37dgAppDelegate *AppDelegate = (A37dgAppDelegate *)[[UIApplication sharedApplication] delegate];
self.indNavControl = [AppDelegate.indNavControl];
//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]];
A37dgAppDelegate *AppDelegate = (A37dgAppDelegate *)[[UIApplication sharedApplication] delegate];
[AppDelegate.indNavControll push indNavControl];
[self.indNavControl pushViewController:dvController animated:YES];
[dvController release];
}
else {
//Prepare to tableview.
IndustriesViewController *indViewControl = [[IndustriesViewController alloc] initWithNibName:@"IndustryView" bundle:[NSBundle mainBundle]];
//Increment the Current View
indViewControl.CurrentLevel += 1;
//Set the title;
indViewControl.CurrentTitle = [dictionary objectForKey:@"Title"];
//Push the new table view on the stack
A37dgAppDelegate *AppDelegate = (A37dgAppDelegate *)[[UIApplication sharedApplication] delegate];
[self.indNavControl pushViewController:indViewControl animated:YES];
indViewControl.tableDataSource = Children;
[indViewControl release];
}
}
真的,我想要做的就是使用UIApplication sharedApplication方法引用我的视图控制器,但我无法弄清楚。
你在这里输入“A37dgAppDelegate.h”和“IndustriesViewController.h”吗?
你是否在你的AppDelegate中声明'indNavControl'属性? 应该有
@property (nonatomic, retain) NSObject *indNavController;
或类似于你的AppDelegate.h文件中的东西。 检查你是否有。 如果没有,请添加它。
编辑:另外,因为没有ObjC方法
[AppDelegate.indNavControl];
你应该摆脱[和]在这一行。
EDIT2:你的应用程序委托有多个实例:在开始和'if'语句中。 他们的名字是一样的。 你应该删除
A37dgAppDelegate *AppDelegate = ...
在“if”语句中,因为名为“AppDelegate”的变量已经存在。
哪条线? 你有一个错字(AppDelegate.indNavControll)。
看起来你正在使用可怕的做法(是的,我知道Apple会这样做)命名实例变量和属性是相同的,这使得事情难以从上下文中读出。 indNavControl是另一个类的属性吗? 还有那个类的实例变量?
链接地址: http://www.djcxy.com/p/52403.html上一篇: UIApplication sharedApplication Help?
下一篇: Entity Framework 6 get complext return value from a stored procedure