self.XX点语法/队列和栈的区别/堆区与栈区的区别

一 self.XX点语法

1.传统的setter,getter方法

 -(void)setAge:(int)age{
    _age = age;
}

-(int)age{
    return _age;
}

2.点语法

点语法的本质是(set/get)方法的调用,而不是访问成员变量,当使用点语法时,编译器会自动展开成相应的方法。
切记点语法的本质是转换成相应的set和get方法,如果没有set和get方法,则不能使用点语法。

p.age = 10;  展开之后等价于   [p setAge:10];  // setter方法

NSString *name = p.age; 等价于NSString *name = [p name]; // getter方法

3. 点语法陷阱 :

在点语法里用self,出现死循环。

在set方法使用self.
- (void)setAge:(int)newAge {
    self.age = newAge;
}

二 队列和栈的区别

队列是先进先出,而栈则是先进后出。

三 堆区和栈区的区别

栈区: 存放局部变量临时变量;由编译器自动管理,不需要我们手动控制。
堆区: 程序运⾏行时动态分配的内存,对象 ;需要程序员手动管理内存。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值