博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oc43--野指针和空指针
阅读量:6918 次
发布时间:2019-06-27

本文共 1001 字,大约阅读时间需要 3 分钟。

////  main.m//  野指针和空指针#import 
#import "Person.h"int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = [[Person alloc] init]; // 1 // 只要一个对象被释放了, 我们就称这个对象为 "僵尸对象" , 当一个指针指向一个僵尸对象, 我们就称这个指针为野指针 // 只要给一个野指针发送消息就会报错 [p release]; // 1-1 = 0 // *** -[Person release]: message sent to deallocated instance 0x1001146b0 // 空指针 nil 0 // 为了避免给野指针发送消息会报错, 一般情况下, 当一个对象被释放后我们会将这个对象的指针设置为空指针 // 因为在OC中给空指针发送消息是不会报错的 // p = nil; [p release]; [p release]; [p release]; [p release]; [p release]; [p release]; [p release]; } return 0;}
//  Person.h#import 
@interface Person : NSObject @property int age;@end
//  Person.m#import "Person.h"@implementation Person    - (void)dealloc    {        NSLog(@"Person dealloc");        NSLog(@"%s", __func__); // [Person dealloc],  类名加方法名                [super dealloc];    }@end

 

转载地址:http://ihxcl.baihongyu.com/

你可能感兴趣的文章
PHP 字符串编码的转换
查看>>
往文件中按行写入数据
查看>>
20. Screen
查看>>
整个站点默认禁用 Session,而某个页面不禁用的做法。
查看>>
ios实例开发精品源码文章推荐(8.22)
查看>>
ElasticSearch 应用场景
查看>>
《数据库技术基础与应用(第2版)》学习笔记——第1章
查看>>
Tomcat性能调优方案
查看>>
Ubuntu12.04上编译PlateGatewayQt
查看>>
(转)UITableView使用详解 相当详细,不错的东东
查看>>
Java中JDK,JRE和JVM之间的关系
查看>>
Python-NLTK环境搭建
查看>>
linux下的usb抓包方法【转】
查看>>
二叉搜索树转换成有序的双向链表
查看>>
内核定时器的使用(好几个例子add_timer)【转】
查看>>
linux中高端内存和低端内存的概念【转】
查看>>
软件整合--硬件整合--平台整合
查看>>
Android 将Activiyt作为Dialog弹出
查看>>
Android 抽屉类SlidingDrawer的使用
查看>>
Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
查看>>