我想設置一個與UIPageViewController一起工作的應用程序。我在技術上可以立即實例化所有視圖並將它們放入一個數組中,但這樣會很昂貴,而且根據需要初始化視圖似乎更好。我讀到一個NSInvocation是一個呈現靜態的消息 - 所以我想我可以有一個數組,基本上包含:[SubclassA alloc]init], [SubclassB alloc]init], etc...
與這些消息包裝在一個NSInvocation。然後我可以在pageViewController:ViewControllerAfter/BeforeViewController:中返回該消息的結果。如何在NSInvocation中存儲一個init調用?
我在這方面還很新,所以很可能我從根本上誤解了NSInvocation,但無論如何,答案仍然會有幫助。
我覺得你誤解的是UIPageViewController。沒有必要預先存儲任何調用。通過確定需要什麼視圖控制器並創建,配置並返回它,只需作爲委託進行響應。 – matt
我知道,但我想也許最好的方法是將這些調用存儲在一個數組中,並通過索引返回它們。 – PopKernel
委託模式的思想是,您根據需要創建視圖控制器,並且UIPageViewController可以保存那些需要的並釋放不再需要的控制器。預先創建/配置VC對於少數幾個(2-4)是可以的,但請記住,一旦顯示它們,它們將保留完整的視圖層次並填充內存。 –