Tag: appdelegate

从应用程序委托获取当前的视图控制器(模态是可能的)

我知道,从应用程序委托获取当前的视图控制器,我可以使用我为我的应用程序设置的navigationController属性。 但是,在我的应用程序的许多地方都可能会出现模态导航控制器。 有没有什么办法来检测这个从应用程序委托,因为当前的导航控制器将不同于应用程序委托持有一个参考?

Swift – 在App Delegate中实例化没有故事板的导航控制器

我正在重build一个没有故事板的应用程序,而我遇到的最麻烦的部分是以编程方式导航到视图。 很less有东西写在那里不使用故事板,所以find答案是艰难的。 我的问题很简单。 我有我的ViewController和我的SecondViewController ,我想从前者推到后者。 在AppDelegate : func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. window = UIWindow(frame: UIScreen.mainScreen().bounds) window?.backgroundColor = UIColor.whiteColor() window?.rootViewController = ViewController() window?.makeKeyAndVisible() return true } 然后在ViewController.swift : class ViewController: UIViewController, AVAudioPlayerDelegate, UITextFieldDelegate { override func viewDidLoad() { super.viewDidLoad() startFinishButton.setTitle("Begin", forState: .Normal) […]

从应用程序委托调用UIViewController方法

我知道有这个问题的重复,但我的情况是不同的。 当用户回到主页(void)applicationDidEnterBackground被AppDelegate类调用。 但是,一旦用户按Home键,我不希望用户再次看到这个视图控制器,所以我有一个名为(void)goToBeginning切换到另一个视图控制器的方法。 我想能够从AppDelegate调用此方法。 我真的不想使用NotificationCenter 。 另外挑选的解决scheme在这里: 从应用程序委托调用视图控制器方法不起作用,因为它初始化新的对象,而我想能够调用已经在视图中的对象。 我怎样才能做到这一点? 我正在使用iOS 7和XCode 5。

在Swift中从AppDelegate获取ViewController的实例

我想在应用程序委托中加载一个特定的ViewController,当用户点击一个UILocalNotification时。 我已经知道这是在这个函数中调用的: func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!) 但是,当我尝试访问其中一个开放的ViewControllers,我认为它返回null,因为我的应用程序崩溃。 这是我正在尝试的: var rootViewController = self.window!.rootViewController var storyBoard = rootViewController.storyboard var setViewController = storyBoard.instantiateViewControllerWithIdentifier("CurrentShows") as ViewController_CurrentShows rootViewController.navigationController.popToViewController(setViewController, animated: false) setViewController.reloadData() 它在popToViewController行崩溃。

如何获取viewController的managedObjectContext,而不是从appDelegate获取?

最近我开始知道“你真的不应该调用AppDelegate来获取托pipe对象上下文”。 苹果公司也把这个build议放在他们的文档里 。 它是这样的: 视图控制器通常不应该从全局对象(如应用程序委托)中检索上下文,这使得应用程序架构变得僵化。 视图控制器也不应该为它自己的用途创build一个上下文(除非它是一个嵌套的上下文)。 这可能意味着使用控制器的上下文执行的操作不会注册到其他上下文中,因此不同的视图控制器将对数据有不同的观点。 此外,他们还提到了一些其他方法来获得背景。 到目前为止,我无法弄清楚他们想在那里说些什么。 任何人都可以提出这个问题。 任何代码片段支持声明将是最受欢迎的。 编辑 但有时,从应用程序或文档或视图控制器以外的地方检索上下文会更容易或更合适。 您可能在基于核心数据的应用程序中使用的几个对象保留对托pipe对象上下文的引用。 一个托pipe对象本身有一个对自己的上下文的引用,支持核心数据的各种控制器对象(例如数组和对象控制器(OS X中的NSArrayController和NSObjectController,以及iOS中的NSFetchedResultsController))也是如此。 从其中一个对象中检索上下文具有如下优点:如果重新构build应用程序,例如使用多个上下文,则代码可能保持有效。 例如,如果您有一个托pipe对象,并且要创build一个与之相关的新托pipe对象,则可以向原始对象请求托pipe对象上下文,并使用该对象创build新对象。 这将确保您创build的新对象与原始对象处于相同的上下文中。 究竟是什么? 相信它与下面Highly投票答案不相似。 有人能帮我理解这部分苹果文件吗?

如何使用故事板呈现飞溅/login视图控制器

我以各种forms看到了这个问题,没有一个明确的答案。 我要在这里问和回答。 我的应用程序需要在启动… inits,一些networking调用,login等工作。我不希望我的主视图控制器工作,直到完成。 这样做有什么好的模式? 要求: iOS5 +,故事板,ARC。 主VC的视图不能出现,直到启动工作完成。 当启动工作完成时,需要select转换样式到主vc。 想要在故事板中尽可能多的布局。 代码应该清晰地包含在某个明显的地方。

收到iOS推送通知时打开视图控制器

我想在用户点击收到的推送通知消息时打开一个特定的视图控制器,但是当我收到推送通知消息并单击该消息时,只有应用程序打开,但不会redirect到特定的视图控制器。 我的代码是 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { if (applicationIsActive) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Bildirim" message:[NSString stringWithFormat:@"%@ ",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]] delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alertView show]; UIViewController *vc = self.window.rootViewController; PushBildirimlerim *pvc = [vc.storyboard instantiateViewControllerWithIdentifier:@"PushBildirimlerim "]; [vc presentViewController:pvc animated:YES completion:nil]; } } 我的问题是与iOS推送通知。

从应用程序委托获取当前的视图控制器

我是新来的ios。 我需要知道应用程序委托当前视图控制器..我不知道这一点,我不知道要实现这一点。 我使用这个代码来实现这个,但它返回空值。 我跟着这个链接 – 从应用程序委托(模态是可能的)获取当前的视图控制器需要帮助。

从应用程序委托使用swift打开视图控制器

我正在尝试创build一个推送通知,根据从推送中获得的信息确定要打开哪个视图。 我已经设法从推动中获得信息,但我现在正在努力争取开放的观点 看看其他堆栈溢出问题我目前有以下几点: 应用程序委托完成加载: //Extract the notification data if let notificationPayload = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary { // Get which page to open let viewload = notificationPayload["view"] as? NSString let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) //Load correct view if viewload == "circles" { var viewController = self.window?.rootViewController?.storyboard?.instantiateViewControllerWithIdentifier("Circles") as! UIViewController self.window?.rootViewController = viewController } } […]

NSInternalInconsistencyException',原因:'无法在捆绑中加载NIB:'NSBundle

在我的AppDelegate有一个我不明白的问题。 RootViewController最初叫ViewController,我改了它的名字。 应用程序是由许多ViewController组成,然后我引入了一个UINavigationController。 为什么这个错误来了? NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle /Users/XXXXXXXXXXXX/Library/Application Support/iPhone simulator/6.0/Applications/ B7A7D461-1CFE-4B05-AF32-00B65FCFFF49/XXXXXXXXXX.app> (loaded)'with name 'RootViewController'' *** First throw call stack: (0x1992012 0x1357e7e 0x1991deb 0x4bafac 0x37fe37 0x380418 0x380648 0x380882 0 x380b2a 0x397ef5 0x397fdb x398286 0x398381 0x398eab 0x398fc9 0x399055 0x49e3ab 0x2ef92d 0x136b6b0 0x1f12fc0 0x1f0733c 0x1f12eaf 0x38e8cd 0x2d71a6 0x2d5cbf 0x2d5bd9 0x2d4e34 0x2d4c6e 0x2d5a29 […]