gpt4 book ai didi

iphone - 在 objective C init 中工作

转载 作者:太空狗 更新时间:2023-10-30 04:02:24 26 4
gpt4 key购买 nike

在 C++ 中,不鼓励在构造函数中进行繁重的工作,尤其是,如果在内存分配后抛出异常,则可能会造成内存泄漏。在 Java 中,仍然不鼓励这样做,但由于垃圾收集器,它的重要性降低了。在 Objective-C 中,关于繁重工作的 init 方法的立场在哪里?

最佳答案

一般的指导原则是延迟加载是任何昂贵的东西的首选。一般来说,init 应该避免昂贵的调用,因为您可能不需要结果。也许调用者创建了这个对象然后将其丢弃,或者只看一个值。您希望避免创建不需要的大量数据结构。该指南旨在提高性能;这不是硬性规定。

允许 init 失败并返回 nil 是可以接受的,但并不常见。请在此处查看 bbum 的回答以获得正确的方法:Returning nil in the init in Objective C code .

关于iphone - 在 objective C init 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537808/

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