我正在尝试在类之间传递NSDictionary。在我的AppDelegate中,我有实例NSDictionary。
@interface AppDelegate : UIResponder <UIApplicationDelegate, FBSessionDelegate, FBRequestDelegate>
{
NSDictionary *contactsFromFacebook;
}
@property (strong, nonatomic) NSDictionary *contactsFromFacebook;
在我的AppDelegate.m文件中,我将其合成为@synthesize contactsFromFacebook = _contactsFromFacebook;
。接下来我的步骤(填写字典):
-(void)request:(FBRequest *)request didLoad:(id)result {
_contactsFromFacebook = [[NSDictionary alloc]initWithDictionary:result];
}
在我的someClass.m文件中,我想使用contactsFromFacebook
字典中的数据。
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSDictionary *someNewDictionary = [[NSDictionary alloc] initWithDictionary:appDelegate.contactsFromFacebook];
但我的someNewDictionary
是安培的。我做错了什么?
答案 0 :(得分:2)
在appDelegate中写一个方法:
-(NSDictionary*)getSomething { return self.contactsFromFacebook; }
然后在其他课堂上:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSDictionary *someNewDictionary = [[NSDictionary alloc] initWithDictionary:[appDelegate getSomething]];
这对我来说很好。
编辑: @Abizern评论我认为解决你的问题。他是对的。
答案 1 :(得分:-2)
“@ synthesize contactsFromFacebook = _contactsFromFacebook;”
_contactsFromFacebook在哪里?
我所看到的只有以下声明: -
NSDictionary * contactsFromFacebook;
和
@property(强,非原子)NSDictionary * contactsFromFacebook;
我看到强大的属性contactsFromFacebook与您在实例化的NSDictionary上分配的变量_contactsFromFacebook之间没有链接