OC-内存管理的一些要点
2024-09-30 22:00:17
创建一个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
最新文章
- C#程序实现动态调用DLL的研究(转)
- Vijos1392拼拼图的小衫[背包DP|二维信息DP]
- uwsgi 启动脚本 每隔三小时重启
- 通过读取配置文件App.config来获取数据库连接字符串
- viedeo
- Best practice for Invoke other scripts or exe in PowerShell
- css,js零散知识的整理
- 快速搭建Docker Registry私有仓库
- Vue 动态路由传值
- 默认空间和webapps下项目部署
- Nginx+uwsgi部署 Diango(生产环境)
- 1) 嵌套的 div ,或者 ul ol .li 阻止冒泡 ,特别是 对应onclick=";test(event)"; 通过传递event 阻止 冒泡. cancelBubble , stopPropagation
- python 正则表达式 RE模块汇总记录
- Resttemplate中设置超时时长方法
- Axure RP for Mac(网站交互式原型设计工具)破解版安装
- OSGI企业应用开发(三)Eclipse中搭建Equinox运行环境
- HUE配置HIVE
- Python 插件(add-in)基础知识
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
- Java 二维码--转载
热门文章
- 专题七:UDP编程补充——UDP广播程序的实现
- 6.12---知道参数的重要性------插入数据-删除数据-修改数据注意Map
- Burp Suite抓https数据包
- Farseer.net轻量级开源框架 入门篇:删除数据详解
- Dreamweaver启动出错--Designer.xml错误
- mysqlbinlog flashback 使用最佳实践
- parsley之验证属性设置
- 如何在网页中浏览和编辑DWG文件 梦想CAD控件
- Eclipse报错:Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:xx&#39; did not find a matching property
- 03Oracle Database 物理结构,逻辑结构