gpt4 book ai didi

objective-c - Cocoa 中 +new 的用例?以及它为何存在?

转载 作者:行者123 更新时间:2023-12-03 18:00:45 24 4
gpt4 key购买 nike

Possible Duplicate:
alloc, init, and new in Objective-C

+alloc/-init...+new 。除了 +new 之外,它们在文档中的作用几乎相同是为实例池而设计的。 (根据我的理解:)

但是,通过 +alloc/-init 可以进行池化。为什么需要分离方法?或者说这个方法有什么理由吗?

我找不到任何使用该方法的示例。我什么时候应该使用这个方法?我可以获得该方法的一些用例 +new

最佳答案

在 Stepstone 的原始 Objective-C 实现中,我们使用 +new 来创建实例。这是 Smalltalk 的遗留物。 NeXT 将 +new 分离为 +alloc/-init 因为大多数类不需要做任何不同的事情来分配其实例使用的内存,并且到处复制该代码是没有意义的。

关于objective-c - Cocoa 中 +new 的用例?以及它为何存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6923288/

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