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
我正在使用 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