如何创建nsdictionary单例值

时间:2014-07-13 15:00:30

标签: ios objective-c singleton

我遇到字典问题,我希望字典只创建一次,以便将数据保存到plist文件中。那么如何创建单例字典呢?提前谢谢

2 个答案:

答案 0 :(得分:0)

您可以在AppDelegate中创建一个NSDictionary实例,将此字典设为类的公共属性。

@property (nonatomic, strong) NSMutableDictionary *myDict;

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中初始化。

现在通过应用程序访问它 -

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

只会创建一个实例供您使用。

答案 1 :(得分:0)

正如您在评论中所做的那样,您需要一个全局变量。贝娄是收据。

以下是您可以做的事情:

  1. AppDelegate.h文件的顶部添加变量extern定义:

    extern NSMutableDictionary * MyGlobalDictionary;

  2. AppDelegate.m文件的顶部添加变量定义:

    NSMutableDictionary * MyGlobalDictionary;

  3. 现在您需要初始化字典,可以使用initialize方法AppDelegate完成。在AppDelegate.m中,在@implemetaion的{​​{1}}中添加此内容:

    AppDelegate

  4. 使用方法:

    只要您需要,只需+ (void)initialize { MyGlobalDictionary = [[NSMutableDictionary alloc] init]; }您的#import文件。贝娄是一个如何使用的例子:

    AppDelegate.h

    重要:

    创建单身人士非常容易,但这被认为是一种不好的做法。考虑将字典传递给可能对其感兴趣的对象。或者如果它是不可避免的,可以定义一些全局类单例。