2012-07-22 112 views
0

我正在制作一个iPhone应用程序,通过一组viewpilotler从用户输入收集数据。在视图的最后,我将所有数据封装在一个名为GELObject的自定义对象中。现在我需要将这些数据保存在某个NSMutableArray中,以便可以通过一个tableviewcontroller访问它,该tableviewcontroller是rootviewcontroller的另一个分支。我正在考虑从tableviewcontroller得到一个全局变量,但是我做了一些研究,并且正在阅读关于appdelegate中的单例。一些指导将非常感谢,如果您感觉特别慷慨,请快速解释如何制作和使用单身人士,因为它很吸引我。 谢谢!全球NSMutableArray变量xcode

回答

0

要管理一个单身人士,你需要创建一个全局变量(可以限制在一个文件的范围static),初始哨兵值为nil,并且在第一次调用时使用类方法创建单身人士。

例如:

static Something* globalSomething = nil; 

@implementation Something 

+ (id) 
sharedSomething 
{ 
    if (! globalSomething) 
    { 
    /* can use different initializer if necessary */ 
    globalSomething = [[[self class] allocWithZone:NULL] init]; 
    } 
    return globalSomething; 
} 

. . . 

@end 
+0

所以我应该把这个在我的应用程序委托类?之后,如何从导航结束时的tableviewcontroller或视图控制器调用它? – 2012-07-22 06:10:21

+0

这种类型的方法应该是任何一个类都应该有singleton的成员(在这种情况下,该类必须分配一个可变数组)。你可以在课堂上自己调用它,例如在这个例子中,使用'[Something sharedSomething]'(它返回一个'Something *')。初始化程序将分配数组,并将该数组声明为该类中的一个字段。 – 2012-07-22 07:13:49