2_iOS干货1_成员变量,实例变量,属性变量 + view的生命周期

一,iOS的成员变量,实例变量,属性变量区别

    1,成员变量

@implementation ViewController {

UILabel *textLabel; 

int count;

}

    1,默认是protected
    2,不会生成set、get方法

 

    3,仅供内部使用,无需与外界接触

 

  2,实例变量

UILabel *textLabel;

实例变量是成员变量的一种特殊情况,实例变量本质上就是成员变量,只是实例是针对的类而言的

  3,属性变量

@interface MyModel : NSObject

@property (nonatomic, copy) NSString *age;

@end

1,自动生成带下划线的属性变量,以及setter和getter方法

2,不能同时重写setter和getter方法

3,如果真的想重写setter和getter方法,要么手动写成员变量,如上;

或者使用一个中间的变量:

@synthesize:

@synthesize age = myAge;

- (void)setAge:(NSString *)age {

myAge = age;

}

- (NSString *)age {

return myAge;

}

4,getter方法里边不能将属性用self修饰,否则会陷入死循环:这是因为点语法实际上是对setter和getter方法的调用,如果在getter方法中调用return self.age的话,就会循环调用。

5,重写setter方法的格式

- (void)setInfoArr:(NSArray *)infoArr {

_infoArr = infoArr;

_infoArr = @[@"我是数组"];

}

 

 

二,view的生命周期

当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序

 

1 alloc                                  创建对象,分配空间

 

2init (initWithNibName)         初始化对象,初始化数据

 

3loadView                           nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图

 

4viewDidLoad                      载入完成,可以进行自定义数据以及动态创建其他控件

 

5viewWillAppear                  视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了

 

6viewDidAppear                  视图已在屏幕上渲染完成

 

当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反

 

1viewWillDisappear            视图将被从屏幕上移除之前执行

 

2viewDidDisappear             视图已经被从屏幕上移除,用户看不到这个视图了

 

3dealloc                             视图被销毁,此处需要对你在initviewDidLoad中创建的对象进行释放

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值