gpt4 book ai didi

objective-c - 在公共(public) API 中使用 'id' 作为返回类型或参数类型有什么好的理由吗?

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:57 24 4
gpt4 key购买 nike

我正在学习Stanford's CS193P course .在类里面,Paul 有一个演示项目“Calculator”,他在其中使用 id 作为属性的类型。他打算不使用特定的类,因为他不想创建一个新的类,然后他不需要写文档,甚至更新时,他也不需要重新设计类。 id 可以解决所有这些问题。

这真的是个好方法吗? id 是属性的返回类型,作为另一个方法的参数类型。调用者如何知道 id 是什么,以及如何提供正确的对象?通过阅读代码注释?

一般来说,在公共(public) API 中使用 id 作为返回类型或参数类型有什么好的理由吗? (除了 init 和工厂方法,尽管对于那些,推荐使用 instancetype。)

最佳答案

  1. 如果您的方法返回的类是类簇的成员,则您应该返回 id

  2. 如果您返回的对象的类是不透明的,并且未在公共(public) header 中声明,则您应该返回 id。 (Cocoa 偶尔会使用标记或上下文数据等对象。)

  3. 容器类应始终以 id 的形式接受并返回其组成部分。

关于objective-c - 在公共(public) API 中使用 'id' 作为返回类型或参数类型有什么好的理由吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23046278/

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