gpt4 book ai didi

swift 4 : Can an object remove itself from a collection

转载 作者:行者123 更新时间:2023-11-28 11:39:53 25 4
gpt4 key购买 nike

这是我想要实现的伪代码:

let a = AClass()
let go = NSMutableArray()
go.add(a)
.
.
.
class AClass{
.
.
.
fileprivate func removeMyselfFromCollection() { //Called from within the class
//TODO: How to remove myself from the collection I am in.
}
}

它可以是任何集合、数组或字典等。类似于removeFromSuperview()

更新:回答一个常见问题...

问题:为什么我需要这个?

答案:场景有点复杂,但可以归结为最基本的细节。我正在将文件(音频、视频、声音)上传到远程存储。上传文件后,我有一种机制(监听器)可以知道我的文件何时在那里,我不需要本地对象来告诉我状态。我将本地对象添加到全局集合中,以使它们在文件上传之前保持事件状态(一个对象代表每个文件)。每个对象负责每个上传的文件。我希望我的每个对象在上传完成后静静地从全局集合中删除(原因如上所述)。

最佳答案

除非你:

一个。自己实现这个方法。

将集合作为参数传入。

让对象的方法将 remove(self) 消息转发给集合。

鉴于您无论如何都必须将消息转发到集合,并且您必须在调用该方法时知道该集合,因此这种方法没有任何值(value)。它增加了复杂性,却没有增加任何值(value)。

另一个问题是对象可以是多个集合的成员。在那种情况下会发生什么?它应该从它所属的所有集合中删除吗?它被添加到第一个?最后?你将如何追踪它?

总而言之,这似乎是一个一劳永逸的命题。

关于 swift 4 : Can an object remove itself from a collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53966371/

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