将对象设置为nil是否常见?

我正在构建一个应用程序,并想知道将未使用的对象设置为nil是生产级编码中的常见做法。

我知道这只是垃圾收集器的一个暗示,并不会总是丢弃一个对象。

你不应该做任何事情来给垃圾收集器任何提示。 只需使用足够内存效率的算法,它将为您完成其余的工作。

根据这个post

如果使用成员对象将其设置为nil将导致引用的对象被垃圾回收。 如果它是局部变量,则方法exit将执行相同的操作。

如果您要求将成员明确设置为nil那么我会质疑您的设计。

不,这不常见。 只有极少数情况下,您将对象显式设置为nil。

例如,在某些数据结构的实现中,将对象设置为nil是有意义的。 假设您实现了缓存,并提供了删除密钥的方法。 让我们进一步假设缓存内部使用一个数组来保存对已删除对象的引用。 然后建议删除对已删除对象的所有引用,方法是将它们设置为nil。

但是,实际上,这些情况并不经常发生。