我在AppDelegate中声明了一个Object:
@property (strong,nonatomic) Object *object;
现在我想在另一个类中初始化这个对象..我已经尝试过这种方式了:
[[[[AppDelegate sharedAppDelegate]object] alloc]init];
但这不起作用......
答案 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];