从其他类初始化AppDelegate中的对象

时间:2014-03-19 10:41:47

标签: ios iphone objective-c ios7

我在AppDelegate中声明了一个Object:

@property (strong,nonatomic) Object *object;

现在我想在另一个类中初始化这个对象..我已经尝试过这种方式了:

[[[[AppDelegate sharedAppDelegate]object] alloc]init];

但这不起作用......

4 个答案:

答案 0 :(得分:1)

试试这个:

AppDelegate *objApp=(AppDelegate*)[[UIApplication sharedApplication] delegate];
objApp.object=[[Object alloc]init];

答案 1 :(得分:1)

您的代码中存在一些问题。

首先,alloc不是实例方法,而是类方法。分配/初始化对象的正确方法如下:

Object *object = [[Object alloc] init];

然后,您可以使用此代码获取对应用程序的委托对象的引用:

((AppDelegate*)[[UIApplication sharedApplication] delegate])

AppDelegate应该是您应用的委托类的名称。

然后您可以执行以下操作:

AppDelegate *appdelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
appdelegate.object = [[Object alloc] init];

您的对象将被正确分配和初始化。

答案 2 :(得分:-1)

像这样使用

AppDelegate *objectInAnotherClass = (AppDelegate*)[[UIApplication sharedApplication] object];

objectInAnotherClass.object = [[Object alloc]init];

答案 3 :(得分:-1)

首先导入AppDelegate,您必须在哪个类上调用该全局方法。

并使用AppDelegate对象进行调用。

AppDelegate *objApp=(AppDelegate*)[[UIApplication sharedApplication] delegate];
objApp.object=[[Object alloc]init];