2015-07-11 69 views
1

我在構建像RunKeeper這樣的應用程序(http://www.raywenderlich.com/73984/make-app-like-runkeeper-part-1)。請原諒我,如果我使用不正確的語言來描述我正在嘗試做什麼,因爲我正在快速學習,並且對iPhone開發新手:-)。Swift PageViewController在視圖之間共享數據

我打算在3頁使用UIPageViewController。在第一頁上,我想顯示正在運行的計時器,開始,暫停,完成,單圈等按鈕。一旦定時器運行,當用戶按下第一頁上的「Lap」按鈕時,我希望在第二頁的表格中顯示lap記錄信息。除非用戶滑動頁面,否則系統不應切換頁面。第三頁應該是帶GPS的地圖。我想從GPS(第三頁)獲取信息,並對該數據執行一些處理,並在第二頁上顯示結果。

我的問題是,如何在不將頁面切換到第二頁的情況下,將第一頁和第三頁的信息共享或傳遞到第二頁?注意:當數據從第一頁,第三頁到第二頁時,應用程序不應切換頁面。如果用戶滑動,它應該只能切換頁面。第二個問題是,一旦數據可用於第二個控制器,我可以在頁面仍然在第一頁或第三頁上時執行功能嗎?

我試過使用segue,但是當prepareForSegue被調用時,應用從第一頁,第三頁切換到第二頁。我也試過使用全局數據(只是試圖讓它工作),但是當我滑動到第二頁時數據不會更新。

請讓我知道,如果我需要更清楚地解釋一些事情。

謝謝你的時間。

回答

0

我開始一個線程來討論你可以在斯威夫特共享視圖控制器之間的數據不同的方式:

How do you share data between view controllers and other objects in Swift?

在你的情況的數據容器單可能會是一個不錯的選擇。您需要在viewWillAppear方法中添加代碼,該代碼從單例中獲取新值並顯示它們,以便在用戶滑動到其他視圖控制器之一時,視圖控制器顯示最新數據。