UIPageViewController 在移动到第三个视图控制器后释放第一个视图控制器?

UIPageViewController deallocating first view controller after moving to the third?

我正在使用 UIPageViewController 来显示 3 个视图控制器。如果我移动到第三个然后返回到第一个视图控制器,则第一个视图控制器将从内存中释放。我如何在仍然使用 UIPageViewController 的同时解决这个问题,或者它只是不是 UIPageViewController 的预期用途?

使用数组或在您的 UIPageViewController 中单独保留对 UIViewController 的强引用。请注意,当设备内存不足时,控制器将卸载它们的视图。

Swift:

class PageViewController: UIPageViewController {
    var viewControllers: [UIViewController]?
    // or
    var viewControllerA: UIViewController?
    var viewControllerB: UIViewController?
    var viewControllerC: UIViewController?
}

Objective-C:

@interface PageViewController: UIPageViewController

@property (nonatomic, strong) NSMutableArray* viewControllers;
// or
@property (nonatomic, strong) UIViewController* viewControllerA;
@property (nonatomic, strong) UIViewController* viewControllerB;
@property (nonatomic, strong) UIViewController* viewControllerC;

@end