从今天开始学习ios,入门第一天(Object-C学习笔记)自动引用计数和为类添加属性
来源:互联网 发布:linux下mysql启动命令 编辑:程序博客网 时间:2024/05/18 02:11
1.Clang静态分析工具
使用ARC机制已经成为了Mac和ios开发者的基本练习,使用ARC的最大好处就是初学者不用再为内存管理的诸多问题而担心了,不过这并不代表你不需要知道对象在内存中的存储机制。
2.为类添加属性
在所有的程序开发语言中,都不建议直接定义公共实例变量,常见的方法是将这些实例变量设为私有变量,通过getter和setter方法对其进行操作。
Object-C的方法是一种类似于Java和C#想结合的方法。与C#相同,Object-C有属性的概念,不过也有java语言的getter和setter方法的具体实现代码。
//in the simpleClass.h file@interface SimpleClass : NSObject{ int _firstInt; int _secondInt;}@property int firstInt;@property int secondInt;@end//in the SimpleClass.m file@inplementation SimpleClass- (void)setFirstInt : (int)firstInt{ _firstInt =firstInt;}- (int)firstInt{return -firstInt;}- (void)setSecondInt : (int) secondInt{ _secondInt =secondInt;}- (int)secondInt{ return _secondInt;}@endSimpleClass *simpleClassInstance=[ [SimpleClass alloc] init];[simpleClassInstance setFirstInt:1];[simpleClassInstance setSecondInt:2];int firstIntValue = [simpleClassInstance firstInt];3.使用@synthesize声明私有变量,实例变量和属性的命名类似,不同之处在于实例变量要带一个下划线。
//in the SimpleClass : NSObject@property int firstInt;@property int secondInt;- (int)sum;@end//in the SimpleClass.m file@implementation SimpleClass- (int)sum{retun -firstInt+_secondInt;}@end4.点注法
将 int firstIntValue = [SimpleClassInstance firstInt];
改为:int firstIntValue= simpleClassInstance.firstInt;
5.现代Object-C中的Strong和Weak属性
//in the SimpleClass.h file@interface SimpleClass : NSObject@property (atomic,strong) SecondClass *aSecondClassInstance;//原子特性,保证当程序异步访问多个线程时其数据的读取和设置都是一定能完全执行的,防止在写入未完成 //的时候被另外一个线程读取。非原子性不能保证这一点。然而使用atomic属性是有限制的。 //因为有其他方法可以提供同样的保障,大部分情况下都声明属性为nonatomic以避免额外的开销。@property(nonatomic,weak) SecondClass *anotherSecondClassInstance;@end
如果一个对象的属性中声明了其为strong,则只要有内容指向该对象,就不会被释放,这其实暗示着你的对象拥有其他对象。
如果对象的属性声明为weak,意味只要有一些其他对象有strong指针指向其时,他仍然保存在内存中。(weak属性用户避免强引用循环)
0 0
- 从今天开始学习ios,入门第一天(Object-C学习笔记)自动引用计数和为类添加属性
- 从今天开始学习ios,入门第一天(Object-C学习笔记)
- 从今天开始学习ios,入门第二天(Object-C学习笔记)内存管理
- ios 学习第一天 object-c入门
- Object C 自动引用计数ARC 学习笔记
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之17-内存管理和自动引用计数——黑马 IOS 技术博客
- 《Objective-C高级编程 iOS与OS X多线程和内存管理》学习笔记——第一章自动引用计数
- Object-C 学习第一天
- 今天是我来到csdn的第一天,从今天开始我要在csdn上学习和交流
- iOS-学习笔记-内存管理 (1)自动引用计数
- swift学习笔记(七)自动引用计数
- swift学习笔记之自动引用计数
- Swift_学习笔记_自动引用计数
- 从今天开始写博客记录每天学习进度--第一天
- IOS学习笔记-第一天
- object-c 学习第一天(windows编译环境配置)
- object-c 学习(第一天)经典 hello word!
- 从今天开始学习C语言
- C++抛出异常与传递参数的区别
- JDBC 结果集
- 树链剖分
- OC-1-面向对象
- 1021. Deepest Root (25) DFS
- 从今天开始学习ios,入门第一天(Object-C学习笔记)自动引用计数和为类添加属性
- JDBC 数据类型和事务
- UML之交互图
- JDBC 的处理
- (四)swifit 中Navigation Bar 和 Tab Bar 区分
- Android-PullLayout:仿UC天气下拉和微信下拉眼睛头部淡入淡出
- nyoj 104 最大和 【区间dp】
- 通达OA-如何集成其他系统的单据
- UML之实现图