2

我有一个带有一些视图和一本字典的应用程序。这些观点需要在这个dict中做出改变。我怎样才能使它全球化,以便我可以从任何视图访问它?

4

5 回答 5

4

利用Singleton Class

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

此链接将帮助您了解更多信息!

于 2013-06-24T05:22:32.050 回答
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
于 2013-06-24T05:23:12.623 回答
0

请参阅此问题
Create NSMutableDictionary 将在应用程序的任何地方都可用

使用单例模式的给定问题的答案

于 2013-06-24T05:57:26.247 回答
0

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

于 2013-06-24T05:21:06.690 回答
-2

您可以使用NSUserDefault.

制作任何字典并将其设置为 UserDefault。

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

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

试试这样;

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

然后以 ; 访问此字典

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

希望这会对你有所帮助!!

于 2013-06-24T05:40:50.690 回答