IOS学习之NSObject

已经是2013年了,出来也有快2年,感慨万千,从php,java低级菜鸟也变为普通菜鸟,从对linux一无所知到有所了解,也学会了在linux下常用工具的使用等,一年前,来到公司做游戏后端,语言用的是java,管理网站php,游戏运行与监控shell,游戏已经失败了,说起来2012的页游市场有些惨淡。好了,转入正题ios


ios也是目前公司转型后的方向,并且也取成一定的成功,所以我们也是要跟着转型,呵呵,我是后端的,后端可以不用转ios,但本人一心想多学点东西,趁着现在年轻,又有设备就多学点吧


了解新的一门语言,首先也是先用基本的东西学起,本文先讲解NSObject


NSObject即为ios的基础类,其它类均继承于它,所以它的所以方法,其它类也会有


alloc  分配内存,未初始化

init 对内存初始化

release 释放内存 ,注意指针要赋于nil(ios的NULL的写法),否则会存在野指针


allocation 是新对象旌的过程。但注意的是未对内存初始化,用init则会初始化为0,如果是BOOL型的则为NO,float 为0.0

init方法在NSObject中使用没有什么问题,如果一个类要重写NSObject的init方法,则需要改变self地址引用,否则会出问题,这个是与其他语言有所不同

- (id) init

{

if (self = [super init] ) {

// 分配内存及改变self引用完成

}else{

// 分配内存失败 self 的值为nil

}

return self;

}


NSString *str =[ [NSString alloc ] init ] ; // 创建一个基于堆的str,与NSString *str = @"asfsdfasdf"不同是后者是临时的,它会自动释放

[str release] // 内存释放


new 与 [ [xx alloc] init ] 结果是一样的,但cocoa 惯例是采用后者,可能是代码中太多是用 [  [x x ]  x] 形式,保持同样的风格


下节将学习NSString


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值