我遇到字典问题,我希望字典只创建一次,以便将数据保存到plist文件中。那么如何创建单例字典呢?提前谢谢
答案 0 :(得分:0)
您可以在AppDelegate
中创建一个NSDictionary实例,将此字典设为类的公共属性。
@property (nonatomic, strong) NSMutableDictionary *myDict;
在- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中初始化。
现在通过应用程序访问它 -
((AppDelegate *) [UIApplication sharedApplication].delegate).myDict
只会创建一个实例供您使用。
答案 1 :(得分:0)
正如您在评论中所做的那样,您需要一个全局变量。贝娄是收据。
以下是您可以做的事情:
在AppDelegate.h
文件的顶部添加变量extern定义:
extern NSMutableDictionary * MyGlobalDictionary;
在AppDelegate.m
文件的顶部添加变量定义:
NSMutableDictionary * MyGlobalDictionary;
现在您需要初始化字典,可以使用initialize
方法AppDelegate
完成。在AppDelegate.m中,在@implemetaion
的{{1}}中添加此内容:
AppDelegate
使用方法:
只要您需要,只需+ (void)initialize {
MyGlobalDictionary = [[NSMutableDictionary alloc] init];
}
您的#import
文件。贝娄是一个如何使用的例子:
AppDelegate.h
重要:强>
创建单身人士非常容易,但这被认为是一种不好的做法。考虑将字典传递给可能对其感兴趣的对象。或者如果它是不可避免的,可以定义一些全局类单例。