我用故事板构建了我的应用程序,所有视图都由tabbarcontroller管理.
所以在发布时(我目前只在iPad UI上工作)它会这样做:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UISplitViewController *splitViewController = [tabBarController.viewControllers objectAtIndex:0];
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
UINavigationController *masterNavigationController = [splitViewController.viewControllers objectAtIndex:0];
ProductionMasterViewController *controller = (ProductionMasterViewController *)masterNavigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望能够根据用户输入启用或禁用tabBarController中的选项卡(例如,需要在第一个选项卡中选择一个项目才能访问第二个和第三个选项卡,默认情况下禁用这些选项卡)
我不清楚的是如何访问选项卡以启用/解除它们.我会创建appdelegate的实例,然后执行类似的操作
AppDelegate *d = (AppDelegate *)[[UIApplication sharedApplication] delegate];
UITabBarController *tabs = (UITabBarController *)[d.window rootViewController];
[[[[tabs tabBar] items] objectAtIndex:2] setEnabled:YES];
[[[[tabs tabBar] items] objectAtIndex:3] setEnabled:YES];
[[[[tabs tabBar] items] objectAtIndex:4] setEnabled:YES];
Run Code Online (Sandbox Code Playgroud)
(这似乎应该有用,但看起来也相当粗糙.)
我的服务器上安装了arangodb,监听端口20925(由我的网络主机分配)
我可以通过外壳成功连接,并且可以确认该进程正在以该端口作为端点运行。
我像这样启动数据库:
sbin/arangod --daemon --server.endpoint tcp://127.0.0.1:20925 --pid-file ~/tmp/pid/arango
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试像这样通过网络界面进行连接
http://www.EXAMPLE.com:20925/_db/_system/_admin/aardvark/index.html
Run Code Online (Sandbox Code Playgroud)
我得到ERR_CONNECTION_REFUSED
我知道端口是开放的,但是我不确定还要寻找什么