2014.2.26 跟俊哥学strong、weak引用,其它iOS开发笔记

清醒疯子 发布于 2014年02月26日 | 更新于 2014年02月26日
无人欣赏。

本文编号:00069

昨天。

学到很多东西。

孙俊博客:link text

俊哥给大家讲引用强弱的问题。weak和strong是ARC里的用法,对应的是MRC的assign和retain。

ARC里,因为不让用release,对象自动释放,所以一个对象只能有一个strong引用,其它引用都必须为weak。否则对象永远不能释放。唯一的strong引用一旦被取消,相应的所有weak自动设为nil,达到对象释放的目的。

编译的时候,ARC自动转MRC,编译器自动写相应的retain和release。

平常的使用中,xib本身为strong,所以从IB拖过来连线会自动写为weak。手写Outlet和Action再连线时,要注意都写为weak。

ARC不是垃圾回收,而只是自动处理内存计数。使用内存计数的好处是可以真正地实现单例。

单例可以用来保存状态。每次初始化单例时检测本地有没有备份,再恢复就行。

释放对象时,如果是属性可以直接设为nil,如果是成员变量要先release再设为nil。

另外,从俊哥的代码里,还学会一招:数组用法。 就是:

[[NSArray alloc] objectAtIndex:0] 可以用 [NSArray alloc] [0] 代替。

[[NSDictionary alloc] objectForkey:@“0”] 可以用 [NSDictionary alloc] [@“0”] 代替。

其它笔记。

我还有一些笔记啦,因为细讲费功夫,如果你对某点有兴趣,可以提出来具体聊聊:)

图片加载:UIImage

imageNamed:重用不分页

imageWithContentsOfFile:不重用可分页

imageWithData:不重用不分页

多线程加图:GCD

dispatch_async()

dispatchgetmain_queue()

dispatch_release()

imagequeue

Category:

属类-声类.h

@interface 属类(声类)

属类 *实例 声法

Delegate:

@protocol 协议

@interface 实现<协议>

调用.delegate = 实现

发送调用,接收实现

常量存储在内存的静态存储区不能被更改

单例:once

typedef long dispatchoncet

dispatch_once()

dispatchoncef()

然后,还想记录一下自己的生活吧。

昨天老婆给阿妈买了一银镯子。不喜欢。今天会亲自去挑。

已经买了周五去兴宁周六回广州的火车票。再过三天,就可以和老婆孩子一起生活了。我要好好努力,每天都要大进步,给他们世界最好的生活。

昨天煤气忘了关,放了一天气,因为窗是打开的,没有安全问题,只是可能又要再充一罐了,上周五才充的啊,WTF,所以不是因为要用热水器,真的碰都不想碰煤气,太麻烦了!等下次换房子了,我要自己掏3000块买个电热水器装在别人房子里!好怀念东莞家里24小时全屋供应的热水啊!

清醒疯子微信公众号用户数终于达到80了,很开心:)

利炳根,激聊师(反复精简)|微信公众号:清醒疯子|Whatsapp: +86 13022075415

共4条回复
指针为空 回复于 2014年02月26日

什么乱七八糟的啊,差评

你就不能用代码框框起来代码部分啊。。。。

话说这个论坛多行代码是什么符号?

清醒疯子 回复于 2014年02月26日

1楼 @指针为空

可是都不完整代码啊,所以就框了。

在单行代码里回车,就可以粘贴第二行代码,然后再回车,一路粘下去,就可以把代码都粘出来了:)

指针为空 回复于 2014年02月26日

貌似要加4个空格吧。。。

car.PackageWay = supplierModel.GetPackageWay();
if (supplierModel.PackageWay)
{
        car.SupplierPack = supplierModel.SupplierModel.PackagingFee;
        car.SupplierLadder = supplierModel.SupplierModel.PackLadder;
  }
清醒疯子 回复于 2014年02月26日

3楼 @指针为空

原来这样,谢谢告知。GetPackageWay是什么意思?扒包的意思吗?

登录 或者 注册