草庐IT

NSdictionary

全部标签

ios - 将 NSDictionary 对象转换为 NSData 对象,反之亦然

我必须将NSDictionary对象转换为NSData并且我还必须从NSDataNSDictionary/对象。我该怎么办? 最佳答案 使用NSKeyedArchiver将NSDictionary转换为NSDataNSMutableData*data=[[NSMutableDataalloc]init];NSKeyedArchiver*archiver=[[NSKeyedArchiveralloc]initForWritingWithMutableData:data];[archiverencodeObject:YOURDICTIO

ios - 'FABException',原因 : '[Fabric] Value of Info.plist key "Fabric"must be a NSDictionary. ' 使用 Firebase 和 Crashlytics 时

在我们的应用程序中使用Firebase时,我遇到了一个相当特殊的场景。在不向项目添加Crashlytics和Fabric的情况下,当我为项目运行单元测试时,会命中以下代码:@try{[FIRAppconfigure];}@catch(NSException*exception){DLog(@"****UnabletoconfigureFirebaseduetoexception%@",exception.description);}调试单元测试时未引发异常,因此我假设已配置firebase并且一切正常。测试通过并且没有问题。然后我非常简单地将带有Fabric的Crashlytics添加

ios - 大型 NSDictionary 的 objectForKey 是否慢?

假设我们有一个非常大的NSDictionary,当我们想调用objectForKey方法时,它会在核心中做很多操作来获取值吗?还是会直接指向内存中的值?它在核心中是如何运作的? 最佳答案 CollectionsProgrammingTopicsforCoreFoundation的CFDictionary部分(如果您想了解更多信息,您应该查看)指出:Adictionary—anobjectoftheCFDictionarytype—isahashing-basedcollectionwhosekeysforaccessingitsva

ios - AFNetworking 2.0 - 使用 responseObject 作为 NSDictionary

AFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManagermanager];[managerGET:@"http://example.com/resources.json"parameters:nilsuccess:^(AFHTTPRequestOperation*operation,idresponseObject){NSLog(@"JSON:%@",responseObject);}failure:^(AFHTTPRequestOperation*operation,NSError*error){NSLo

iphone - 将 NSManagedObject 存储在字典中 (NSDictionary)

我有一个自定义类,它是NSManagedObject的子类。我想将它存储在字典中,但是在尝试这样做时我收到了一个Propertylistinvalidforformat:200错误。下面是我尝试创建字典的方法:NSDictionary*dictionary=[NSDictionarydictionaryWithObject:voiceMemoforKey:@"voiceMemo"];尝试时结果相同NSDictionary*dictionary=[NSDictionarydictionaryWithObject:(NSData*)voiceMemoforKey:@"voiceMemo"]

ios - 将 NSDictionary 存储在钥匙串(keychain)中

可以使用KeychainItemWrapper(或不使用)将NSDictionary存储在iPhone钥匙串(keychain)中吗?如果不可能,您还有其他解决方案吗? 最佳答案 在将NSDictionary存储到Keychain之前,您必须正确序列化它。使用:[dicdescription][dicpropertyList]你最终会得到一个只有NSString对象的NSDictionary集合。如果要维护对象的数据类型,可以使用NSPropertyListSerialization。KeychainItemWrapper*keyc

ios - 是否可以将 NSMutableArray 或 NSDictionary 数据保存为 iOS 中的文件?

我想将NSMutableArray或NSDictionary保存为永久文件。然后,我想稍后重新打开该文件。这可能吗?如果可以,我该怎么做? 最佳答案 写入文件NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=[pathsobjectAtIndex:0];NSString*filePath=[documentsDirectorystringByAp

ios - NSDictionary 中的弱对象?

我想在NSDictionary中存储对对象的归零弱引用。这是对父NSDictionary的引用,因此我可以在不搜索的情况下爬回大型结构。我不能在这里使用__weak;即使我的本地引用是弱引用,NSDictionary也会存储对弱引用对象的强引用。当然,NSDictionary不能有nil对象。我使用的是iOS,而不是Mac,所以NSHashTable不可用。我只希望一个物体变弱;其余的应该还是很强的。(我将发布我的答案,所以如果没有更好的答案,我会将某些内容标记为已接受。但我希望有人有更好的答案。) 最佳答案 在iOS6+中你可以使

iphone - 在 Objective C 中拥有可变和不可变版本的类(如 NSArray、NSDictionary 等)背后的逻辑是什么?

为什么ObjectiveC中的常见集合类(如NSString、NSArray、NSDictionary等)有可变版本和不可变版本。分别定义它们背后的逻辑是什么?性能、内存管理或其他什么? 最佳答案 类的不可变版本之所以存在,是因为不可变对象(immutable对象)本身就是特定状态的唯一标识符。IE。如果您有一个包含100个NSString实例的NSArray,则该NSArray实例对于这些字符串中的任何一个都可以视为幂等的。同样,不变性意味着在状态被出售后不会发生变化。例如,NSView的subviews方法返回一个不可变数组,从

iphone - 获取 nsdictionary 中特定键的值

我将json解析结果保存在dictionary中,如下所示:{"statusCode":"200","body":[{"status":"success","remarks":null}],"data":["abcd":[{"category":"a","title":"b","id":"24"},{"category":"c","title":"crd","id":"65"},{"category":"ds","title":"sd","id":"18"}]},{"efgh":[{"category":"ds","title":"sd","id":"18"},{"category":