,具体请见旧文:《nginx 下 wp super cache 的 mod_rewrite 规则》。...用过 WP-Super-Cache 插件的应该都知道,在高级设置里面有一项【当某页面有新评论时,只刷新该页面的缓存】的功能,从字面上来说,就是当有人在某篇文章发起评论时,将删除该页面的缓存。...也就是采用 ajax 评论的方式,可能无法触发 WP-Super-Cache 的删除机制,从而导致这个功能的失效!总之,不管怎么样,反正在我的博客失效了,现在就要想办法解决这个问题。...cache_sd); } if (file_exists($cache_p)) { unlink($cache_p); rmdir($cache_pd); } 现在有人提交评论时,...将会判断是否存在该页缓存,如果存在就删除,从而实现了我要的功能。
viewWillDisappear"); } -(void)loadView { [super loadView]; NSLog(@"FirstVC loadView"); } -(void..."); } 请注意:为了保证代码顺利执行,且保证模拟器顺利加载ViewController,请务必添加[super viewxxxxx]的代码来初始化。...从StoryBoard加载 先放出进入第一个viewController时的控制台输出 2016-03-24 10:55:17.503 SIMAlbum[35103:546098] FirstVC awakeFromNib...SIMAlbum[35103:546098] FirstVC viewDidLayoutSubviews 代码加载viewController 依旧做了个实验,进入代码生成的viewController时控制台输出如下...FirstVC viewDidLayoutSubviews 2016-03-24 11:09:49.929 SimDraw[36310:564381] FirstVC viewDidAppear 退出时
NSLog(@"%s", __func__); } @end 重写ViewController的如下方法 @implementation YFViewController -(void)loadView...{ NSLog(@"%s", __func__); [super loadView]; } - (void)viewDidLoad { [super viewDidLoad...] -[YFViewController viewDidLoad] -[YFViewController viewDidAppear:] 如果创建控制器时勾选了XIB,那么调用方法为[[YFViewController...alloc]init]创建VC时的生命周期为: -[YFViewController initWithNibName:bundle:] -[YFViewController init] -[YFViewController...loadView] -[YFViewController viewDidLoad] -[YFViewController viewDidAppear:] 如果是通过SB创建控制器,那么VC的生命周期为
1、loadView loadView方法是用来负责创建UIViewController的view 首先,[super loadView]会先去查找与UIViewController相关联的xib文件,...当挂起时,程序还是停留在内存中的,当系统内存低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存。...生命周期: application didFinishLaunchingWithOptions:当应用程序启动时执行,应用程序启动入口,只在应用程序启动时执行一次。...applicationWillResignActive:在应用程序将要由活动状态切换到非活动状态时候,要执行的委托调用,如 按下 home 按钮,返回主屏幕,或全屏之间切换应用程序等。...applicationWillEnterForeground:在应用程序将要进入前台时(被激活),要执行的委托调用,刚好与applicationWillResignActive 方法相对应。
我们知道,创建viewcontroller时,执行顺序是loadview -> viewDidLoad。...当重新显示该viewController时,执行过viewDidUnLoad的viewcontroller(即原来在后台)会重新调用loadview -> viewDidLoad。...并把子类的view赋给view属性(property)(你创建的view必须是唯一的实例,并且不被其他任何controller共享),而且你重载的这个函数不应该调用super。...对于iOS2.x,你还必须在调用super dealloc方法前将这些引用置为nil。...四、结论 所以流程应该是这样: (loadView/nib文件)来加载view到内存 ——>viewDidLoad函数进一步初始化这些view ——>内存不足时,调用viewDidUnload函数释放
注意: 不要在这里做View相关操作,View在loadView方法中才初始化。...loadView 当执行到loadView方法时,如果视图控制器是通过nib创建,那么视图控制器已经从nib文件中被解档并创建好了,接下来任务就是对view进行初始化。...假设我们在处理内存警告时释放view属性:self.view = nil。因此loadView方法在视图控制器的生命周期内可能被调用多次。...比如,设置设备不同方向时该如何显示;设置状态栏方向、设置视图显示样式等。...另一方面,当APP有多个视图时,上下级视图切换是也会调用这个方法,如果在调入视图时,需要对数据做更新,就只能在这个方法内实现。
具体执行的方法我就不一一贴出来了,唯一需要说的一个重点就是最后的 loadView 方法,我们来看下这个方法: protected View loadView(String viewName, Locale...当后者缓存数量达到上限时,会自动删除它里边的元素,在删除自身元素的过程中,也会删除前者 viewAccessCache 中对应的元素。...Exception; 可以看到,createView 中调用了 loadView,而 loadView 则是一个抽象方法,具体的实现要去子类中查看了。...loadView @Override protected View loadView(String viewName, Locale locale) throws Exception { AbstractUrlBasedView...new JstlView() : super.instantiateView())); } 会根据实际情况初始化 InternalResourceView 或者 JstlView,或者调用父类的方法完成
{ super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) print(#function) }...NSCoder) { fatalError("init(coder:) has not been implemented") } //只有UIView且xib时才会调用该方法...override class func awakeFromNib() { super.awakeFromNib() print(#function) }...可以返回自定义view override func loadView() { super.loadView() // view = UIView()...print(#function) } //vc加载完成后 override func viewDidLoad() { super.viewDidLoad
新建的视图控制器默认情况下是无法加载到程序运行界面上的,此时需要在应用程序代理的程序加载完毕事件中手动加载并显示我们的视图。...if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super...当主窗口设置为可见过程中会调用视图控制器的loadView方法来加载视图(注意视图控制器的loadView方法是延迟加载的,第一次调用视图控制器的view属性才会调用此方法;由于makeKeyAndVisible...方法中会使用视图控制器的view属性所以此时会调用视图控制器的loadView方法),视图加载完之后调用viewDidLoad方法,在这个方法中我们添加登录相关控件并将这些控件加载到视图控制器KCMainViewController...下面我们看一下应用程序最终的布局,相信通过这张图大家对于iOS的布局会有一个大致了解: a2.png
演示效果图 示例代码: -(void)loadView { [super loadView]; MyRelativeLayout *S = [MyRelativeLayout...演示效果图 示例代码: -(void)loadView { [super loadView]; MyFrameLayout *S = [MyFrameLayout new];...演示效果图 示例代码: -(void)loadView { [super loadView]; MyFlowLayout *S = [MyFlowLayout flowLayoutWithOrientation...演示效果图 示例代码: -(void)loadView { [super loadView]; MyFloatLayout *S = [MyFloatLayout...演示效果图 示例代码: -(void)loadView { [super loadView]; MyPathLayout *S = [MyPathLayout new];
Load循环如下所示: a) VC会调用它的loadView方法。...如果想手工创建views,应当覆盖loadView方法。当覆盖loadView方法来创建view时,不应该call super。...因为loadView应当实现所有需要绘制view的过程,而调用super会无谓的消耗cpu。...旋转处理时注意的Tips: a) 在旋转过程中禁止event传递。减少意外; b) 存储可见的Map区域。...当你定义了一个storyboard时,iOS会自动做一些工作帮助你去构建app。
iOS7新增加了导航控制器侧滑手势,当触发侧滑返回时,会调用系统的viewWillDisappear:方法,取消侧滑返回时又会调用viewWillAppear:方法。...2.5 控制器View的生命周期 loadView:加载view 作用:用来创建控制器的View。...调用时刻:每次访问Controller的View,当View为nil,就会调用loadView方法。...调用addSubivew:成功后会给该视图发送didAddSubivew:回调,触发UIView的子类在新增视图时执行其他操作。...willRemoveToSubview:回调通知父视图子视图即将被删除 4. 内存警告 首先要判断一下,当前view有没有被显示。如果正在显示,做处理,会让用户感觉很不舒服。
// 顶部刷新 let header = MJRefreshNormalHeader() override func loadView() { super.loadView() }...override func viewDidLoad() { super.viewDidLoad() //随机生成一些初始化数据 refreshItemData()...= self.items[indexPath.row] return cell } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning...override func loadView() { super.loadView() } override func viewDidLoad() { super.viewDidLoad...5815fb4ec2023.png //下拉过程时的图片集合(根据下拉距离自动改变) var idleImages = [UIImage]() for i in 1...10 { idleImages.append
比如控制器构建时(init)、 视图构建时(loadView)、视图构建完成时(viewDidLoad)、视图将要呈现到窗口前(viewWillAppear)、视图已经呈现到窗口(viewDidAppear...可见loadView的主要目的就是为了完成视图的构建和布局。因此当我们通过代码的方式来完成视图的创建以及布局时也应该将代码逻辑放到这里而不应该放到viewDidLoad中去。...的重载来完成视图的构建和布局 @implementation XXXXViewController(CreateView) -(void)loadView { [super loadView]...- (void)removeFromParentViewController; //如果我们要添加一个子视图控制器和删除一个子视图控制器同时执行并且要有动画效果时可以采用这个方法 - (void)transitionFromViewController...interface UIViewController (UIContainerViewControllerCallbacks) //容器控制器可以重载这个方法来控制子视图控制器中的视图在添加到窗口以及从窗口删除时子视图控制器是否会自动调用
验证:通过纯代码跳转时发现屏幕黑色且卡顿,设置颜色后正常。 loadView方法 用于创建 UIViewController 的 view。...当 UIViewController 访问 view 时如果发现为 nil,就会调用 loadView 方法。 loadView 方法执行完会自动执行 viewDidLoad。...loadView 方法大概的实现思路如下: func loadView() { // 如果UIViewController是通过storyboard创建的,从storyboard中加载视图来创建...不要调用super.loadView()。 不要手动调用该方法。...基本使用 class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad
withSender:(id)sender { if (action == @selector(xxx) return NO; return [super...Declared In UIResponder.h ---- Previous iPhone应用程序名称本地化...Next loadView vs viewDidLoad
AbstractCachingViewResolver 顾名思义,就是带缓存的 ViewResolver,它利用了LinkedHashMap中的一个方法,就是在添加K-V时,会判断要不要删除最早加入的K-V...UrlBasedViewResolver 允许设置prefix和suffix,使得开发者返回viewName时,只用返回特征值即可。...* Subclasses will typically call {@code super.buildView(viewName)} * first, before setting further...第5章讲完了 ViewResolver,我们发现一个干事的 ViewResolver 后边对应的时一个或多个View实现类。因此,我们来了解一下View及其实现类吧。...在redirect时,会将相关数据保存在 FlashMap中,这个咱们在DispatcherServlet讲过,用于保存重定向前相关数据。
自我革命——发现问题 在开发中,一直有这样一种情境:App的未注册用户可以使用部分功能(访客视图),一旦需要使用一些核心功能或者获取个性化、差异化的服务时,就需要用户登录(登录定制)。...最先的一个哥们儿的做法是将登录字段抽取到一个常量中,需要时判断该值是否为真,然后执行相应的逻辑,这样每个类中就省去了一个字段。...UIViewController @property (nonatomic, assign) BOOL isLogin; @end @implementation BaseViewController -(void)loadView...[super loadView] : [self setupVisitorView]; } -(void)setupVisitorView{ UIView *view =...} @end 子类视图控制器(四个子类都差不多,这里贴一个) @implementation FourViewController - (void)viewDidLoad { [super
initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super...NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath]; return dic; } - (void)loadView...tableView.rowHeight = 90; self.view = tableView; [tableView release]; } - (void)viewDidLoad { [super...:(UITableView *)tableView { return self.titles; } #pragma mark - UITableViewDelegate //当cell被选中时触发...打电话结束后会返回当前应用程序: UIWebView *callPhoneWebVw = [[UIWebView alloc] init]; NSURLRequest *request
- (id)init { if([super init] !...主要方法 • –loadView:不要主动调用该方法,当访问控制器view的时候,就会调用该方法。如果要自己创建view,则需要重写该方法。...• –viewDidLoad:当加载控制器的视图到内存时,该方法被调用。...控制器加载视图过程 当调用视图控制器的view属性时,视图控制器会先调用loadView方法加载视图,因此,可以在loadView方法中创建所有的视图,这是比较好的编程惯例。...事件处理 如图所示,一般情况下,当一个视图不响应用户事件时,它会将事件传递给它的父视图。但是,当视图被视图控制器管理时,它会将事件首先传递给视图控制器。
领取专属 10元无门槛券
手把手带您无忧上云