gpt4 book ai didi

objective-c - 在 Objective-C 中初始化对象的不同方式

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:18:07 28 4
gpt4 key购买 nike

在Objective-C中有两种初始化对象的方法,即:

1) AVCaptureSession *captureSession = [[AVCaptureSession alloc] init];

2) AVCaptureSession *session = [AVCaptureSession new];

他们似乎在做同样的工作。它们之间有什么区别?还是"new"只是iOS5的新奇?

不胜感激,

艺术

最佳答案

new 是执行 alloc/init 的快捷方式,它应该适用于任何对象,但它主要是 Smalltalk 的后遗症,而且 new 调用从不带参数,所以你根本看不到它的用处。

所以两者应该是相同的,这是一个新奇的东西,但不是 iOS 5 的。

编辑:除此之外,newNSObject 上定义为调用 alloc 然后调用 init 的东西,并且自 Mac OS X 10.0(这是开始就 Apple 文档而言的时间)。

关于objective-c - 在 Objective-C 中初始化对象的不同方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7928281/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com