ios学习杂记二

Object-c是基于引用计数的内存管理:就是说每个对象都要维护对象所有引用的计数值。当有一个新的引用指向对象时,计数值加1

当删除一个指向对象的引用时,计数值减1.当计数值为0的时候,该对象会自动释放所占用的资源;

 

使用关键字来操作引用计数:

auto:创建对象,为对象分配内存,引用计数加1

cope:复制一个对象,返回新的对象,引用计数加1

retain:获取对象所有权,引用计数加1

 

release:释放对象所有权,引用计数减1,当引用计数为0时,释放对象;

autorelease:将释放交给外部来实现;比如说函数返回一个新的对象时,不可能在函数内部释放对象,释放的话就不能返回了,所以交给外部程序来决定什么时候释放;

 

类:

1、类里面的成员默认是私有成员;

2@interface:类的声明关键字,@implementation:代表实现

3@synthesize:一般使用这个关键字声明类的成员变量,编译器会隐式的自动生成gettersetter,自动生成存取方法。这个关键字是跟property关键字一起使用

根据object-c的语言特性,写方法时,一般先在.h文件声明,.m文件实现。使用@property.h文件声明,比如:@property(retain,nonatomic)NSString *test;

.m文件实现,比如说:@synthesizetest;这样就已经实现了get,set方法。

 

@property()里面的关键字解释:

retain:将旧的对象的引用计数值赋予新的对象,然后新的对象的引用计数值再加1,释放旧的对象;

assign:简单复制,不更改引用计数值;

copy:建立一个计数值为1的新对象,释放旧对象;

nonatomic:假如使用atomic这个关键字声明代表变量是线程安全的,就是说当一个线程去写这个变量时,其他线程不能去读取。而这种机制是需要消耗很多资源的,

开发ios的话,为了提高资源利用率所以使用nonatomic关键字声明取消这种机制。

 

接口:

@protocol关键字声明,相当于javainterface;

 

 

函数:

减号标志类的函数方法; -voidtest;

+加号标志静态方法; +(void) test;

 

多参数:

-(返回值类型)函数名:(第一个参数类型)第一个参数名第二个参数的标志:(第二个参数类型)第二个参数名

      如:-(int)test:(int) age second:(int) age1three:(int) age2

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值