1. //
  2. // Dog.h
  3. // OC3_dealloc
  4. //
  5. // Created by zhangxueming on 15/6/18.
  6. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  7. //
  8.  
  9. #import <Foundation/Foundation.h>
  10.  
  11. @interface Dog : NSObject
  12.  
  13. @end
  14.  
  15. //
  16. // Dog.m
  17. // OC3_dealloc
  18. //
  19. // Created by zhangxueming on 15/6/18.
  20. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  21. //
  22.  
  23. #import "Dog.h"
  24.  
  25. @implementation Dog
  26.  
  27. - (void)dealloc
  28. {
  29. NSLog(@"dog release!!!");
  30. [super dealloc];
  31. }
  32.  
  33. @end
  1. //
  2. // main.m
  3. // OC3_dealloc
  4. //
  5. // Created by zhangxueming on 15/6/18.
  6. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  7. //
  8.  
  9. #import <Foundation/Foundation.h>
  10. #import "Dog.h"
  11.  
  12. int main(int argc, const char * argv[]) {
  13. @autoreleasepool {
  14. Dog *xiaoHei = [[Dog alloc] init];
  15. Dog *xiaoBai = [xiaoHei retain];
  16. NSLog(@"retainCount = %li", xiaoBai.retainCount);
  17. Dog *xiaoHui = [xiaoHei retain];
  18. NSLog(@"retainCount = %li", xiaoHui.retainCount);
  19. [xiaoHei release];
  20. NSLog(@"retainCount = %li", xiaoBai.retainCount);
  21. [xiaoBai release];
  22. NSLog(@"retainCount = %li", xiaoHui.retainCount);
  23.  
  24. //最后一次release 的时候,retainCount理论值为的0, 自动调用dealloc方法释放对象
  25. [xiaoHui release];
  26.  
  27. }
  28. return ;
  29. }

OC3_dealloc的更多相关文章

随机推荐

  1. Codeforces Round #286 (Div. 1) D. Mr. Kitayuta's Colorful Graph 并查集

    D. Mr. Kitayuta's Colorful Graph Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/ ...

  2. ERROR 1227 (42000): Access denied; you need (at least one of) the PROCESS privilege(s) for this oper

    1  用以往的mysql登陆模式登陆 [mysql@eanintmydbc002db1 mysqllog]$ mysql Enter password:  Welcome to the MySQL m ...

  3. eclipse中Build Path-Add to Build Path相应到androidstudio的设置

    有些时候并不须要加入lib库进行编译,比如在使用xposed的jar包时,仅仅须要在eclipse里Build Path-Add to Build Path就可以,假设作为lib库加入进去反而会出现异 ...

  4. JAVA(2)——JDBC

    刚接触JDBC的时候,有时候就在想,为什么java要用JDBC,而不是直接使用之前在VB中就学习过的ODBC,由于ODBC是在JDBC之前出现,所以ODBC肯定由于无法完毕某些操作或者不能非常顺利的完 ...

  5. 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享

    使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery ...

  6. android140 360 黑名单 启动service和分页加载

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout ...

  7. [原创]如何写好SqlHelper 之终章

    精简的美丽...... 标题有点大.但是,我觉得99%的接近了. 好了,下面我们来说说一个SqlHelper为了适应各种不同的业务需要,它应该具备哪些基本要素. 第一点.可控的事务. 事务是数据库操作 ...

  8. jQuery事件之on()方法绑定多个选择器,多个事件

    这样一个需求,如果用live()方法实现的话 非常简单,容易理解. $('nav li, #sb-nav li, #help li').live('click', function () { // c ...

  9. 解决iphone横屏时字体变大问题或者内容大小不一样等

    在样式表中增加: @media screen and (max-device-width: 320px){body{-webkit-text-size-adjust:none}} @media scr ...

  10. #pragma_pack(n)_与___attribute(aligned(n))

    #pragma pack(n) 与 __attribute(aligned(n))   在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int.long.float等)的变量,也 ...