self.XX点语法/队列和栈的区别/堆区与栈区的区别
来源:互联网 发布:可可网络验证通杀 编辑:程序博客网 时间:2024/05/20 01:45
一 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
- self.XX点语法/队列和栈的区别/堆区与栈区的区别
- IOS开发 self点语法与指针语法的区别
- self.xx 与 _xx的区别
- self点语法和下划线_的区别
- 堆和栈,队列的区别
- 堆、栈和队列的区别
- 堆与栈的几点区别
- 栈和队列的区别, 栈和堆的区别
- 堆和栈的几点区别
- 堆,栈,队列的区别
- 栈、队列、堆的区别
- 堆、栈、队列的区别
- 1.property之 self.xx与_xx的区别
- IOS中self.xx 和 _xx 的区别
- 堆区与栈区的区别
- 堆和栈的联系与区别
- 堆和栈的定义与区别
- 堆和栈的区别与联系
- 树莓派安装mrpt
- Android 异步任务
- Java文档 [转载oracle]
- AttributeError: 'module' object has no attribute 'post'问题
- Echarts仪表盘
- self.XX点语法/队列和栈的区别/堆区与栈区的区别
- Unity3D for VR 学习(1): 又一个新玩具 暴风魔镜 4(Android)
- PHP执行效率问题总结
- Activity数据返回 startActivityForResult()用法详解
- 初探服务器:使用服务器运行自己的程序
- Android view 坐标
- 找零钱的方案数以及所需最少张数的钞票的方案
- 20160902
- 动手实现自己的 STL 容器 《1》---- vector