OC-内存管理的一些要点
创建一个BOOK对象,对其属性进行声明 定义。
@property 属性声明 定义了对属性的赋值
-(void) dealloc 方法在对象销毁的时候进行调用。
#import <Foundation/Foundation.h> @interface Book : NSObject
@property (nonatomic,assign) int price;
@end
#import "Book.h" @implementation Book -(void)dealloc
{
NSLog(@"Book is dealloc");
[super dealloc];
} @end
创建一个Person对象,对其属性进行声明 定义。
@property 属性声明 定义了对属性的引用计数加一并在-(void) dealloc 方法在对象销毁的时候减一;
#import <Foundation/Foundation.h>
#import "Book.h" @interface Person : NSObject @property (nonatomic ,retain)Book *book; @end
#import "Person.h" @implementation Person -(void)dealloc
{
[_book release];
NSLog(@"Person is dealloc");
[super dealloc];
} @end
在main函数中。声明两个对象。并同一时候在使用完后进行销毁。遵循了谁创建谁销毁的原则。
#import <Foundation/Foundation.h>
#import "Person.h"
#import "Book.h" int main(int argc, const char * argv[])
{
Person *p=[[Person alloc] init]; Book *b=[[Book alloc] init];
b.price=45;
p.book=b;
[b release]; NSLog(@"%d ",p.book.price ); [p release]; return 0;
}
@property属性的參数分别为
assign,retain,copy-针对引用计数。assign为默认,并在非oc对象作为属性时使用
nonautomic,automic-在线程中起一定的作用,一般nonautomic效率会高点,默认是automic
readonly,readwrite-对属性进行setter getter存储。一般默认是readwrite
OC-内存管理的一些要点的更多相关文章
- OC 内存管理机制总结
OC 内存管理机制总结 一:OC内存管理机制目前分为两块,其一自动内存管理机制,其二手动内存管理机制: 1.首先我们从自动内存管理机制讲起: 1)什么是自动内存管理机制,自动内存管理机制就是程序中所创 ...
- OC内存管理基础
OC 内存管理基础 一. retain和release基本使用 使用注意: 1.你想使用(占用)某个对象,就应该让对象的计数器+1(让对象做一次retain操作) 2.你不想再使用(占用)某个对象,就 ...
- QF——OC内存管理详解
堆的内存管理: 我们所说的内存管理,其实就是堆的内存管理.因为栈的内存会自动回收,堆的内存需要我们手动回收. 栈中一般存储的是基本数据类型变量和指向对象的指针(对象的引用),而真实的对象存储在堆中.因 ...
- OC内存管理-OC笔记
内存管理细节:http://blog.sina.com.cn/s/blog_814ecfa90102vus2.html 学习目标 1.[理解]内存管理 2.[掌握]第一个MRC程序 3.[掌握]内存管 ...
- OC内存管理-黄金法则
1.内存管理-黄金法则 The basic rule to apply is everything that increases the reference counter with alloc, [ ...
- OC内存管理总结,清晰明了!
<span style="font-size:18px;">OC内存管理 一.基本原理 (一)为什么要进行内存管理. 由于移动设备的内存极其有限.所以每一个APP所占的 ...
- 31 (OC)* 内存管理
31 (OC) 内存管理 一:内存管理黄金法则. 如果对一个对象使用了alloc.[Mutable]copy,retain,那么你必须使用相应的realease或者autorelease 二:内存管 ...
- iOS学习17之OC内存管理
1.内存管理的方式 1> iOS应用程序出现Crash(闪退),90%的原因是因为内存问题. 2> 内存问题 野指针异常:访问没有所有权的内存,如果想要安全的访问,必须确保空间还在 内存泄 ...
- 【0 - 1】OC内存管理
一.内存管理概述 垃圾回收机制(GC):由系统管理内存,程序员不需要管理. OC中的垃圾回收:在OC2.0版加入垃圾回收. OC与iOS:OC有垃圾回收机制,但是iOS屏蔽了这个功能.原因:iOS运行 ...
- OC内存管理(ARC)
1.什么是ARC Automatic Reference Counting,自动引用计数,即ARC,可以说是WWDC2011和iOS5所引入 的最大的变革和最激动人心的变化.ARC是新的LLVM 3. ...
随机推荐
- QT开发之旅-Udp聊天室编程
一.概要设计 登录对话框(继承自QDialog类)进行用户登录查询数据库用户是否存在,注册插入数据到用户表.用户表字段: (chatid int primary key, passwd varchar ...
- js中时钟表盘
1.js时钟表盘 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- 左耳听风 ARTS Week 002
要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...
- Android 将Bitmap对象保存为png图片文件
输入:Bitmap对象.保存的路径.保存的文件名 注意路径的最后要带上 '/' 符号 private void saveBitmap(Bitmap bitmap,String path, Strin ...
- CNN结构:场景分割与Relation Network
参考第一个回答:如何评价DeepMind最新提出的RelationNetWork 参考链接:Relation Network笔记 ,暂时还没有应用到场景中 LiFeifei阿姨的课程:CV与ML课程 ...
- Python中的排序方法
1 list.sort list.sort(key=None, reverse=False) 该方法只能用于list.就地排序,原来的list被修改.key的用法见下文.reverse控制降序还是生序 ...
- 【sqli-labs】 less62 GET -Challenge -Blind -130 queries allowed -Variation1 (GET型 挑战 盲注 只允许130次查询 变化1)
允许130次尝试,然后是个盲注漏洞,看来要单字符猜解了 加单引号,页面异常,但报错被屏蔽了 http://192.168.136.128/sqli-labs-master/Less-62/?id=1' ...
- ThinkPHP---TP功能类之分页
(1)核心 数据分页通过limit语法实现 (2)分页类 ThinkPHP里系统封装好了分页类:Page.class.php (3)代码分析 位置:Think/Page.class.php, ①查看相 ...
- 10Java Server Pages 隐式对象
Java Server Pages 隐式对象 JSP隐式对象是Web容器加载的一组类的实例,它不像一般的Java对象那样用“new”去获取实例,而是可以直接在JSP页面使用的对象.JSP提供的隐式对象 ...
- gym101343J. Husam and the Broken Present 2 (状压DP)
题意:给定n个串 每个串长度不超过100 找到一个新串 使得这n个串都是它的字串 输出这个新串的最小长度 题解:n是15 n的阶乘的复杂度肯定不行 就想到了2的15次方的复杂度 想到了状压但是不知道怎 ...