#import <UIKit/UIKit.h>
#import "UCMapviewController.h"
#import "UCMenuviewController.h"
#import "UCOverviewController.h"
@interface UCRootViewController : UIViewController
@property (weak, nonatomic) UCMapviewController *mapviewController;
@property (weak, nonatomic) UCMenuviewController *menuviewController;
@property (weak, nonatomic) UCOverviewController *overviewController;
这是我的 UCRootViewController 的声明,它应该管理这些子视图控制器。他稍后还将成为他们的代表来处理何时应该显示或不显示一个控制器。
rootViewController 在 UIAppDelegate 中保持强大,并将始终保持活动状态。
那么让那些 sub-viewControllers 变弱是正确的吗?我不是 100% 确定,但据我所知,当没有指向它们的强指针时,弱指针会被释放。所以根是强的,让它们变弱是正确的,对吧?
#import <UIKit/UIKit.h>
@class UCRootViewController;
@interface UCOverviewController : UIViewController
@property (weak, nonatomic) UCRootViewController *rootviewController;
这是我的一个子视图控制器的标题。他们有一个指向(后来的)委托 rootviewController 的弱指针。@class UCRootviewController
声明让他们调用委托方法就足够了吗?我什至需要这个吗?
谢谢
编辑:我刚刚阅读了一篇关于 ViewControllers和段落的好文章:
始终使用高质量的视图控制器容器或 +[UIViewController presentModalViewController:animated:] 在应用程序中显示视图控制器。如果您需要在某处保留对视图控制器的引用,请使用弱引用,除非您真的希望它为缓存目的而保持更长时间。在这种情况下,请务必正确响应内存不足的情况。
它说使用弱引用,您对此有何看法?