0

我想要一个NSMutableDictionary可以从网络上提取数据的工具,并且可以从应用程序中的任何视图控制器中获得。

换句话说,我应该能够dictionary在应用程序的任何部分获取和设置其中的信息。

我已经阅读了几个解决方案,其中一个是创建一个包含该字典的 .h 文件,然后将该 .h 文件添加到 .pch 以便它可以在任何地方使用。

第二种选择是在 中创建 dict AppDelegate,但是人们说这是一个糟糕的解决方案。

请就执行此操作的最佳方法提出建议。谢谢!

4

2 回答 2

4

您可以使用单例类来共享数据
检查这个单例类

MyManger.h

#import <foundation/Foundation.h>

@interface MyManager : NSObject {
NSMutableDictionary *_dict
}

@property (nonatomic, retain) NSMutableDictionary *dict;

 + (id)sharedManager;  
@end 

MyManger.m

#import "MyManager.h"

static MyManager *sharedMyManager = nil;

 @implementation MyManager

 @synthesize dict = _dict;

#pragma mark Singleton Methods  

+ (id)sharedManager {
 @synchronized(self) {
    if(sharedMyManager == nil)
      sharedMyManager = [[super allocWithZone:NULL] init];
 }
return sharedMyManager;
} 

- (id)init {
   if (self = [super init]) {
  dict = [[NSMutableDictionary alloc] init];
   }
 return self;
}   

您可以像这样从任何地方访问您的字典

   [MyManager sharedManager].dict
于 2013-02-12T11:32:34.360 回答
-1

you can create it in the app delegate and set its setters and getters. and each time you need to acces it you can make and instance of the main delegate

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
于 2013-02-12T11:51:43.443 回答