- 博客(7)
- 收藏
- 关注
转载 [nil release]能够执行,但是没有效果
1.内存泄露一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显式释放的内存。应用程序一般使用malloc,calloc,realloc等函数(C++中使用new操作符)从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。
2016-11-30 16:27:46 273
转载 objective-C 的内存管理之-实例分析
objective-C 的内存管理之-实例分析注:这是《Objective-C基础教程》一书上的实例,但是原书限于篇幅,分析得比较简单,初次阅读看得比较费劲,这里展开详细讨论一下。场景:有二个类Car和Engine,即“汽车”和“引擎”。先来看最初的版本:Engine.h1234567#import <Cocoa/Cocoa.h> @interface Engine : NSObjec
2016-11-29 10:10:33 328
转载 快速枚举
快速枚举 快速枚举的特性使得我们可以使用简洁的语法来安全、有效地枚举集合中的内容。for…in 快速枚举的特性使得我们可以对集合中的元素进行枚举。其用法如下: for ( 类型 变量 in 表达式 ) { 处理语句 } 或者是 类型 变量; for ( 变量 in 表达式 ) { 处理语句;
2016-11-16 09:58:58 275
转载 如何使用#import #include与@class
一、#include与#import区别 1. #include import和#include同样可以将头文件引入到我们需要的文件中,那么它们有什么区别呢?当我们在代码中对同一个文件进行两次#include的时候会报错:因为#include相当于拷贝头文件中的内容,所以会报重复定义的错误。例如: 有a.h、b.h、c.h三个头文件, b.h引用包含a.h, c.h中同时引用包含a.h和b.
2016-11-15 11:23:27 404
转载 Objective-C中@private、@protected、@public 解析
Objective-C中,类的实例化变量的范围有@private、@protected、@public。他们代表的意思和C++中相同,只是前面添加了一个@符号。下面介绍一下他们代表的范围:指令意思@private作用范围只能在自身类@protected作用范围在自身类和继承自己的子类,什么都不写,默认是此属性。@public作用范围最大,在任何地方下面是官方的图:具体的可以参考:http:
2016-11-14 11:27:47 339
转载 非正式协议和正式协议的区别
这两个概念困扰我很久了,一直都很像搞清楚到非正式协议和正式协议有什么区别和联系,下面结合网上的资料和自己的看法谈谈这个问题。一、非正式协议显然这个名词是相对于正式协议而言的。在解释非正式协议之前,先引用两段话:1、在《Cocoa设计模式》第六章类别的6.3.2把类别用于非正式协议一节中,这样写到:非正式协议通常定义为NSObject的类别。类别接口中指定的方法可能会或者可能不会被框架类实际地实现。非
2016-11-10 14:39:21 1499
转载 继承和类别的区别
在Objective-C中,给一个类扩展一个其它方法,有两种实现方式:类别和继承。1.继承Inherit这个是面向对象语言都有的一个特性,子类会继承父类的方法和属性。对于以下情况,无法使用类别,必须使用继承。1)新扩展的方法与原方法同名,但是还需要使用父类的实现。因为使用类别,会覆盖原类的实现,无法访问到原来的方法。2)扩展类的属性,这个类别无法做到。示例代码:
2016-11-10 12:56:49 329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人