object c中 new和alloc区别
在object-c基础教程这本书里老是可以看见类似下面这种代码,我这小菜鸟就纳闷了,啥区别啊,看上去都一样么。网上找了找,找到一些说法,这里先摘出来。
className* object = [className new];
or
className* object = [[className alloc] init];
背景说明,new是较为老式的写法,后来发现只有一个new不好使,才引入了alloc和init这种写法,保留new一是向后兼容,二是很多时候是一种更简单的写法。其实是一样的,new在内部调用的alloc和init.
源代码:
什么要把alloc 和init 分开?
1. 可以使用多种init方法
2. 显示调用总比隐式调用要好”
如果确实不需要用其他的init函数,比如initWithString, 只是使用 [Nsobject alloc] init] ,那用new的方法更加方便
* new doesn't support custom initializers (like initWithString)
* alloc-init is more explicit than new
===========================================
object c中 new和alloc区别相关推荐
- Object类中常见的方法
一.Object类中的toString()方法 1. object 默认方法 toString方法,toString() 输出一个对象的地址字符串(哈希code码)! 2.可以通过重写toString ...
- Java中Object.equals与String.equals的区别
基础知识 Java的存储空间:寄存器.栈.堆.静态存储区.常量存储区(常量池).其他存储位置. 此处重点介绍堆和常量存储区: 堆:存储new的对象; 常量池:用来存储final static.Stri ...
- 【Java之多线程(二)】(***重要***)Java多线程中常见方法的区别,如object.wait()和Thread.sleep()的区别等
1.Java中Thread和Runnable的区别??? 区别: 在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处: 避免点 ...
- JAVA 中equals()与==的区别
原文地址:http://www.chineselinuxuniversity.net/articles/29594.shtml 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存 ...
- python中的object是什么意思_Python object类中的特殊方法代码讲解
python版本:3.8class object: """ The most base type """ # del obj.xxx或del ...
- java中==和equals的区别
package com.atguigu.java1;import java.sql.Date;/** * equals()和==的区别* *一.回顾==的使用*==:运算符* 1.可以使用在基本数据类 ...
- 面试必问一:Java 中 == 和 equals 的区别你知道吗
面试必问一:Java 中 == 和 equals 的区别你知道吗 前言 关于这个问题,一般初中级面试中都会遇到,还记得我当初实习找工作的时候也遇到了这个问题,现在都还记得自己是怎么回答的:== 是基本 ...
- C#中equal与==的区别
C#中equal与==的区别 来源 https://www.cnblogs.com/dearbeans/p/5351695.html C#中,判断相等有两种方式,一种是传统的==操作,一种是objec ...
- wait/notify/notifyAll在Object类中
wait/notify/notifyAll在Object类中 因为我们在使用synchronized锁 对象锁可以是任意对象,所以wait/notify/notifyAll需要放在Object类中. ...
- property field java_Java 中 field 和 variable 区别及相关术语解释
原标题:Java 中 field 和 variable 区别及相关术语解释 先说一下 field 和 variable 之间的区别: class variables and instance vari ...
最新文章
- 关于 Delphi 中流的使用(10): 压缩与解压缩进度 - 回复 ilst 的问题
- 卖一头猪亏500元,“猪茅”也扛不住了?
- tomcat安装apr报错解决
- 在 Perl 中利用 DOM 和 XPath 对 XML 进行有效处理
- 卡方分箱(chi-square)1
- HDMI中的视频时序分析
- 扫盲贴2.5寸移动硬盘的厚度有几种
- Windows 远程桌面复制问题
- IEEE 754 浮点数的详细分析
- linux查看tomcat在,在陌生Linux环境查看Tomcat服务的方法
- Resources资源
- MPU6050/6500/9250中断读取原始数据(基于STM32F103)
- 构造函数c语言引用,c – 定义的构造函数的“未定义引用”
- 【愚公系列】2021年12月 Redis数据库-主从的搭建
- python3各版本区别-Python各版本之间的区别
- U8G2库移植到STM32平台上
- c语言编程 黑色星期五,求黑色星期五问题~
- Apache Commons 总纲
- [GO项目]开源免费在线客服系统-真正免费开源-GOFLY0.3.5发布-极简强大Go语言开发WEB网页客服...
- 短时傅里叶变换(1)