gpt4 book ai didi

ios - 将数据加载到类中并使用它的策略

转载 作者:行者123 更新时间:2023-11-29 13:00:51 25 4
gpt4 key购买 nike

假设我有一个加载初始数据集的类

//  DataModel.m


#import "DataModel.h"
@implementation DataModel
@synthesize items;

-(id) init{
self = [super init];
if (self)
{
[self loadData];
}
return self;
}

-(void)loadData
{
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"dataFile" ofType:@"json"];
NSString *jsonString = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];
if (!jsonString) {
NSLog(@"File couldn't be read!");
return;
}
// json was loaded, carry on
DLog(@"json Data loaded from file");
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error:&error];
if (error){
DLog(@"ERROR with json: %@",error);
return;
}

items = [json valueForKeyPath:@"items"];

}

我正在我的 appDelegate 中初始化它(一次)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

appDataModel = [[DataModel alloc] init];
DLog(@"init %@",appDataModel);

return YES;
}

这个数据集将在整个应用程序中使用和操作 - 最后它将被保存,替换原来的(“dataFile.json”)

问题:这样做的最佳策略是什么? (将在许多 View Controller 中使用此数据集...)数据集相对较小,但我宁愿在操作/读取它时将它保存在一个地方和内存中。

Q2 - 我真的应该在 appDelegate 中初始化它(一次)吗?

最佳答案

您可以使用 Singleton

It’s an extremely powerful way to share data between different parts of code without having to pass the data around manually.

关于ios - 将数据加载到类中并使用它的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19837079/

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