如何制作全球词典

时间:2013-06-24 05:17:44

标签: ios objective-c

我有一个带有一些视图的应用程序和一个字典。这些观点需要在此词典中进行更改。如何将其设置为全局,以便我可以从任何视图访问它?

5 个答案:

答案 0 :(得分:4)

利用Singleton Class

Singleton类:这是一种非常强大的方法,可以在代码的不同部分之间共享数据,而无需手动传递数据。

This link会帮助您了解更多信息!

答案 1 :(得分:3)

将其创建为全局可见且持久对象的实例变量,例如应用程序委托。例如:

@interface AppDelegate: NSObject <UIApplicationDelegate> {
    NSMutableDictionary *dict;
}

@property (nonatomic, strong) NSMutableDictionary *dict;

// implementation:

- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(id)opts
{
    // ...
    dict = [[NSMutableDictionary alloc] init];
    // ...
    return YES;
}

然后像这样使用它:

AppDelegate *appDel = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSMutableDictionary *global = appDel.dict;
// use `global' here

答案 2 :(得分:0)

您既可以使用单例对象,也可以将字典放在AppDelegate中,并在其他类中导入AppDelegate.h时使用它。

答案 3 :(得分:0)

参考此问题
Create NSMutableDictionary that will be available from everywhere in the app

使用单身人士模式

给出问题的答案

答案 4 :(得分:-2)

您可以使用NSUserDefault

创建任何字典并在UserDefault中设置它。

在任意位置更改字典的值,并将该字典设置为userdefault。

然后您可以在任何地方访问包含字典的userdefault值。

试试这个;

[[NSUserDefault standarduserdefault]setObject:"your dictonary" forKey:@"KEY_NAME"];

然后以<; p>的形式访问此词典

[[NSUserDefault standarduserdefault]dictionaryForKey:@"KEY_NAME"];

希望这对你有帮助!!