|
|
1
8
这就是我认为这是错误的地方。您熟悉NSCoding,通常通过encodeWithCoder:和initWithCoder:重写使对象可编码来采用它。更简单的是,您仍然可以使用NSCoding和nscoder,而无需重写这些方法。您可以对共享对象的状态进行编码,而无需对共享对象本身进行编码。这就避免了解码共享对象的尴尬问题。 下面是一个我认为你可以做的例子:
这里我们有一个共享对象,它使用键控归档来持久化配置,但我们不编码共享对象本身。这避免了解码singleton类的第二个实例的尴尬问题。 |
|
|
2
3
您需要在单例本身中进行加载,这里要做的是创建单例,将lval分配给单例,然后创建一个新对象,并在不修改单例的情况下将lval重新分配给该新对象。换言之:
你要做的是在sharedVenue中处理这个问题。人们做单身有几种方式,所以我不能确定你在做什么,但让我们假设sharedVenue目前看起来像这样:
显然,您需要以某种方式传递归档对象文件的实际路径。
好的,如果您使用的是基于alloc的singleton,则需要在classes init方法中处理此问题:
|
|
|
S qasem · Android内存性能 8 年前 |
|
|
R83nLK82 · 在单例设计模式上引发IOException 8 年前 |
|
|
hal · 两个课程有什么区别?他们的工作方式不同吗? 8 年前 |
|
Jaquarh · 如何在不使用DI的情况下实例化父类 8 年前 |
|
|
Deepanshu · 基于PHP的Web应用程序中的单例对象状态 8 年前 |
|
|
dicle · 视图控制器中的依赖项注入 8 年前 |
|
|
Kozuki · 如何在生产代码中考虑单例? 8 年前 |