View Controller 生命周期

本文详细解析了iOS中ViewController的生命周期,包括Storyboard初始化、awakeFromNib、viewDidLoad等关键方法的作用及调用时机,并指导如何正确处理视图的初始化与布局。
在Srotyboard里面放置任何控件时,其实是把它冷冻起来,
当ViewController需要使用时才会解冻
怎么解冻呢?它会调用  -(void) awakeFromNib

  • -(void) viewDidLoad

    ViewController在初始化时,生成完所有控件之后会调用viewDidLoad,
    只会调用一次,但是有些东西是不能在viewDidLoad上面执行的,
    尤其是跟bounds、size、point有关系的,
    因为这时候边界可能还没确定,它有可能还在srotyboard里面,
    还没加载完成,所以千万不要在viewDidLoad里面添加跟视图形状有关的初始化信息

  • -(void) viewWillAppear:(BOOL)animated

    在屏幕即将出现时,会执行此方法
    千万不要在这里加一次性初始化的东西,因为ViewController常常会交互消失,
    这个方法会被调用很多次,当ViewController重新出现在画面上的时候,
    这个方法就会被调用,只有在Model需要被同步数据的时候才需要使用这个方法

  • -(void) viewWillDisappear:(BOOL)animated

    在视图要消失的时候会调用这个方法
    可以在这里做停止timer之类的事情,让一些东西不占用资源可以在可以写,
    当你从屏幕上消失后,就要保持低调XD

那…几何初始化、控件位置应该写在哪里呢?????
ios6以后出现了两种方法
-(void) viewWillLayoutSubviews;
-(void) viewDidLayoutSubviews;
应该要把跟几何相关的代码写在这里,
当转动屏幕的时候,它会试著使用这些方法去改变size、point,
尤其是有时候你不知道autolayout会把控件移动到什么位置,
但是又很想要手动改变它的座标,
viewDidLayoutSubviews是很适合写代码的地方,
因为这时候系统已经全部布局完成了

总结一下ViewController生命周期,如下图

1-1.从storyboard中进行实体化
          如果是透过storyboard生成,就会调用awakeFromNib

1-2  [[xxx alloc] initWithNibName:bundle:]
2. 如果storyboard里面有设置IBOutlet的话, vidwDidLoad就会载入
3. storyboard里面的几何设置都设置完毕之后,
    就会调用viewWillLayoutSubviews、viewDidLayoutSubviews
4. viewWillAppear
5.Controller里面几何有变化时,会再次调用
   viewWillLayoutSubviews、viewDidLayoutSubviews
6. viewController从屏幕上面离开的时候
   viewWillDisappear
7.在执行以上流程时,中间出现内存不足的情况时,就会调用
   didReceiveMemoryWarning


内容概要:本文详细介绍了一种基于Simulink的表贴式永磁同步电机(SPMSM)有限控制集模型预测电流控制(FCS-MPCC)仿真系统。通过构建PMSM数学模型、坐标变换、MPC控制器、SVPWM调制等模块,实现了对电机定子电流的高精度跟踪控制,具备快速动态响应和低稳态误差的特点。文中提供了完整的仿真建模步骤、关键参数设置、核心MATLAB函数代码及仿真结果分析,涵盖转速、电流、转矩和三相电流波形,验证了MPC控制策略在动态性能、稳态精度和抗负载扰动方面的优越性,并提出了参数自整定、加权代价函数、模型预测转矩控制和弱磁扩速等优化方向。; 适合人群:自动化、电气工程及其相关专业本科生、研究生,以及从事电机控制算法研究与仿真的工程技术人员;具备一定的电机原理、自动控制理论和Simulink仿真基础者更佳; 使用场景及目标:①用于永磁同步电机模型预测控制的教学演示、课程设计或毕业设计项目;②作为电机先进控制算法(如MPC、MPTC)的仿真验证平台;③支撑科研中对控制性能优化(如动态响应、抗干扰能力)的研究需求; 阅读建议:建议读者结合Simulink环境动手搭建模型,深入理解各模块间的信号流向与控制逻辑,重点掌握预测模型构建、代价函数设计与开关状态选择机制,并可通过修改电机参数或控制策略进行拓展实验,以增强实践与创新能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值