gpt4 book ai didi

ios - Obj-C持久性和动态类型检查

转载 作者:行者123 更新时间:2023-12-01 17:26:16 26 4
gpt4 key购买 nike

这只是我的事,我不知道如何最好地处理类似的情况,例如从磁盘中检索对象的情况,在这种情况下,我知道它应该只是NSDictionary类型。但是,做这样的假设不是一个好的编码实践……规范是先检查它是哪个类,然后将其转换为Dictionary?

如果是这样,我是否首先要在NSData类中检索文件,然后询问它是否是NSDictionary类?

    NSString *destinationString = [NSString stringWithFormat:@"%@/%@",dataPath,filename];

NSDictionary *file = [[NSDictionary alloc]initWithContentsOfFile:destinationString];
if (file) {
return YES;
}
return NO;
}

最佳答案

您不知道initWithContentsOfFile的实现方式。可能会检查文件的开头,以查看它是否与字典匹配,如果不匹配,则提早保释(返回nil)。它可能比首先获取数据要有效得多。

根据initWithContentsOfFile的文档,该方法检查文件中包含的数据类型,并且不会向您返回“坏”或“错误”的对象,因此您可以确定非null对象是好的。

您的代码是否需要尝试创建数组然后再创建字典是另一回事。

关于ios - Obj-C持久性和动态类型检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17284128/

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