这是我想要实现的伪代码:
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()
更新:回答一个常见问题...
问题:为什么我需要这个?
答:场景有点复杂,但可以归结为最基本的细节。我正在将文件(音频、视频、声音)上传到远程存储。上传文件后,我有一种机制(侦听器)可以知道我的文件何时在那里,我不需要本地对象来告诉我状态。我将本地对象添加到全局集合中,以使它们保持活动状态,直到文件上传(一个对象代表每个文件)。每个对象负责上传的每个文件。我希望上传完成后,我的每个对象都会从全局集合中静默删除(原因如上所述)。