18、深入理解对象初始化:原理、方法与实践

深入理解对象初始化:原理、方法与实践

1. 对象创建方式概述

在编程中,创建新对象通常有两种方式:
- [SomeClass new]
- [[SomeClass alloc] init]

这两种方式在功能上是等效的,但在Cocoa编程中,更常用的是 alloc init ,而不是 new 。对于初学者来说, new 可能是一个过渡方式,当掌握了足够的知识后,就应该使用 alloc init

2. 对象分配

对象分配是新对象诞生的过程。在这个过程中,会从操作系统获取一块内存,并将其指定为存储对象实例变量的位置。向类发送 alloc 消息会使该类分配一块足够大的内存来容纳其所有实例变量,并且会将这块内存初始化为0。这样可以避免未初始化内存导致的各种随机错误。例如,所有的 BOOL 类型初始值为 NO int 类型为0, float 类型为0.0,指针为 nil

需要注意的是,新分配的对象不能立即使用,必须先进行初始化。与C++和Java等语言不同,Objective - C将对象分配和初始化分为两个明确的阶段。初学者常见的错误是只使用 alloc 操作,如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值