代码之家  ›  专栏  ›  技术社区  ›  gurghet

如何处理应用程序中的单例对象?

  •  1
  • gurghet  · 技术社区  · 15 年前

    我想到的第一种方法是将singleton对象作为属性放在appDelegate对象中。这样,您就可以使用

    #import "myAppDelegate.h"
    // ...
    [[(myAppDelegate *)[UIApplication sharedApplication] delegate] SingletonObj]
    

    缺点是您必须显式地强制转换并导入委托的头,以告诉您正在使用的类SingletonObj实际上是委托的属性。我觉得这让代码有点异味。

    第二种方法是创建合法的单例类。然而,这需要更多的工作。我个人认为一节单身课就足够了。

    我不是一个程序员,所以我会非常感谢更正我的推理,并对这个问题的意见。

    3 回复  |  直到 15 年前
        1
  •  0
  •   Jonathan Sterling    15 年前

    UIApplicationDelegate -你生活中的相关事情 AppDelegate 班级。埃瓦尔。

    决定你是否真的需要独生子女。如果你这样做了,就做一个合法的单身班。它 应用程序委派 ? 啊。

    (还有一点习惯用法:类以大写字母开头,方法以小写字母开头;因此,您的意思是 [[(MyAppDelegate *)[UIApplication sharedApplication] delegate] singletonObj]

        2
  •  5
  •   bbum    15 年前

    单例通常在类中通过如下方法进行处理 +sharedInstance .

    Here is a good write-up .

        3
  •  1
  •   vikingosegundo    15 年前

    我找到一个 xcode template