/// <summary>
        /// This method is invoked when the application has loaded and is ready to run. In this
        /// method you should instantiate the window, load the UI into it and then make the window
        /// visible.
        /// </summary>
        /// <remarks>
        /// You have 5 seconds to return from this method, or iOS will terminate your application.
        /// </remarks>
        public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
        {
            Window                    = new UIWindow(UIScreen.MainScreen.Bounds);
            RootController            = new RootViewController("RootViewController", null);
            NavigationController      = new UINavigationController(RootController);
            Window.RootViewController = NavigationController;

            // make the window visible
            Window.MakeKeyAndVisible();

            BeginDownloading();
            return(true);
        }
		/// <summary>
		/// This method is invoked when the application has loaded and is ready to run. In this 
		/// method you should instantiate the window, load the UI into it and then make the window
		/// visible.
		/// </summary>
		/// <remarks>
		/// You have 5 seconds to return from this method, or iOS will terminate your application.
		/// </remarks>
		public override bool FinishedLaunching (UIApplication app, NSDictionary options)
		{
			Window = new UIWindow (UIScreen.MainScreen.Bounds);
			RootController = new RootViewController ("RootViewController", null);
			NavigationController = new UINavigationController (RootController);
			Window.RootViewController = NavigationController;
			
			// make the window visible
			Window.MakeKeyAndVisible ();
			
			BeginDownloading ();
			return true;
		}
            public DataSource(RootViewController controller)
            {
                Controller = controller;

                // Listen for changes to the Apps collection so the TableView can be updated
                Controller.Apps.CollectionChanged += HandleAppsCollectionChanged;
                // Load the Placeholder image so it's ready to be used immediately
                PlaceholderImage = UIImage.FromFile("Images/Placeholder.png");

                // If either a download fails or the image we download is corrupt, ignore the problem.
                TaskScheduler.UnobservedTaskException += delegate(object sender, UnobservedTaskExceptionEventArgs e) {
                    e.SetObserved();
                };
            }
			public DataSource (RootViewController controller)
			{
				Controller = controller;

				// Listen for changes to the Apps collection so the TableView can be updated
				Controller.Apps.CollectionChanged += HandleAppsCollectionChanged;
				// Load the Placeholder image so it's ready to be used immediately
				PlaceholderImage = UIImage.FromFile ("Images/Placeholder.png");

				// If either a download fails or the image we download is corrupt, ignore the problem.
				TaskScheduler.UnobservedTaskException += delegate(object sender, UnobservedTaskExceptionEventArgs e) {
					e.SetObserved ();
				};
			}