0

我正在尝试在类之间传递 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的很空旷。我做错了什么?

4

2 回答 2

2

在 appDelegate 中写一个方法:

-(NSDictionary*)getSomething { return self.contactsFromFacebook; }

然后在其他班级:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSDictionary *someNewDictionary = [[NSDictionary alloc] initWithDictionary:[appDelegate getSomething]];

这对我来说很好。

编辑:@Abizern 评论我认为可以解决您的问题。他是对的。

于 2012-04-27T13:17:22.640 回答
-2

“@synthesize contactsFromFacebook = _contactsFromFacebook;”

_contactsFromFacebook 在哪里?

我所看到的只是以下声明:-

NSDictionary *contactsFromFacebook;

@property(强,非原子)NSDictionary *contactsFromFacebook;

我看不到强属性contactsFromFacebook 和变量_contactsFromFacebook 之间没有链接,你分配给你实例化的NSDictionary

于 2012-04-27T13:13:01.150 回答