一是:看视频看了一个多小时还有一个小时吧,那老师讲课真不行,不过这分享式的营销还不错。内容主要讲内存管理,其中主要和Java的gc。虽然object-c2.0支持gc但是仅限于mac。iPhone编程中内存管理,主要是对象的reference个数的管理。需要每次创建对象,就需要释放一次。其中init,retain,copy,alloc会使reference数加1,而release,dealloc,autorealse,都回使reference减1。其中retaincount可以返回当前reference的个数。
具体方法使用如下:
retain
将一个对象的reference数量增加1。
release
将一个对象的reference数量减少1。
autorelease
在未来某些时候将reference数量减少1.
alloc
为一个对象分配内存,并设置保留值数量(retain count)为1。
copy
复制一个对象,并将其做为返回值。同时设置保留值数量(retain count)为1。
autorelease
在当前上下文的AutoreleasePool栈顶的autoreleasePool实例添加此对象,由于它的引入使Objective-C(非GC管理环境)由全手动内存管理上升到半自动化。
二是:数据类型和Java大同小异。
如下图:
说实话,昨晚有想浏览网页的冲动,不住知道为啥,我最后又坚持看了视频。人就是容易懒惰的动物,因为智慧。