gpt4 book ai didi

ios - 类方法单例对象可以响应委托(delegate)调用吗?

转载 作者:行者123 更新时间:2023-11-29 11:02:16 25 4
gpt4 key购买 nike

我有一个 SettingsManager 单例,它在我的应用程序中处理用户设置(例如,每当在任何 View Controller 中播放声音时,都会检查 SettingsManager 以查看是否声音已打开,音量是多少)。

该类对象(我通过 [SettingsManager sharedManager] 访问)能否响应发送到其他地方的委托(delegate)消息?例如,如果我在我的 SettingsViewController 中打开声音,类方法对象是否可以选择它并将这些更改保存到磁盘?

最佳答案

您的单例一旦实例化,当然可以充当委托(delegate)。最后它也是一个像任何其他对象一样的对象。它唯一的区别是它只被实例化一次。

但是,如果您仅通过类方法访问它并且不在属性、ivars 等中存储任何数据,那么它可能根本不会被实例化。我不确定在那种情况下它是否是真正的单例,但我看到有人称它为单例,尽管它从未真正实例化过。在这种情况下,在类方法中,self 总是引用类而不是实例。一个类不能充当委托(delegate)。

因此,根据您的单例的情况,答案是肯定的或否定的。

关于ios - 类方法单例对象可以响应委托(delegate)调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15340180/

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