gpt4 book ai didi

objective-c - iOS:关于应用程序设计以及如何在 viewController 之间共享 NSDictionary 的简单问题

转载 作者:行者123 更新时间:2023-11-29 05:03:14 26 4
gpt4 key购买 nike

我有一个简单的设计问题。这段代码位于我的 appDelegate 中。我用它来加载 NSDictionary 类别中的所有图像。接下来,我将字典传递给主 NavigationViewController 的 init 方法。我连续通过由 NavigationViewController 推送的所有 viewController 传递字典,因为我在所有地方都使用相同的图标。

我想知道这是否是正确的方法,或者我只是在浪费内存。换句话说,我应该通过 viewControllers 传递字典,还是应该使用单例......或者什么?我目前采用这种方法的原因是我没有从 viewControllers 到应用程序委托(delegate)的任何引用。

//load categories pictures
NSArray *categoriesKeys = [[NSArray alloc] initWithObjects:
@"comedy",
@"commercial",
@"education",
@"family",
@"media",
@"music",
@"performing",
@"sport",
nil];

categories = [[NSMutableDictionary alloc] init];

for (NSString *categKey in categoriesKeys) {
UIImage * categImage = [UIImage imageNamed:[[@"icons/" stringByAppendingString:categKey] stringByAppendingString:@".png"]];
[categories setObject:categImage forKey:categKey];
}

更新:

viewController初始化方法

FlickrAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;

categories = appDelegate.categories;
categKeys = appDelegate.categoriesKeys;

最佳答案

我可能会创建一个单例。很多人喜欢将共享代码放在 AppDelegate 中,但随后该文件会变得困惑,并且不清楚整个文件中发生了什么。使用专用于此逻辑的单例可以分离代码并使其更容易更改。

关于objective-c - iOS:关于应用程序设计以及如何在 viewController 之间共享 NSDictionary 的简单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6343391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com