NSMutableDictionary 的 NSMutableArray 具有多个键,数据结构

Posted

技术标签:

【中文标题】NSMutableDictionary 的 NSMutableArray 具有多个键,数据结构【英文标题】:NSMutableArray of NSMutableDictionary with multiple keys, data structure 【发布时间】:2011-10-12 22:35:51 【问题描述】:

我正在尝试为三个字段创建数据结构。一种方法可以从 sqlite 数据库中获取两个字段。另一种方法使用另一个 sqlite 数据库中的两个字段来获取数据。什么是存储数据的好方法?我需要的三个字段的类型是:

NSString, key: @"Name"
NSInteger, key: @"ID"
NSArray, key: @"Info"

我想我会做一系列的字典。所以在第一种方法中,我得到 NSString 和 NSInteger,创建一个字典,并从中创建一个包含这些字典的数组。然后我陷入了思考如何使用两个键(问题#1)打印出 NSMutableDictionary 的数据。

然后我想到的第二件事是,我是否可以使用名称、ID 字段从另一个表中获取另一条数据,并将新的键/值对添加到字典中。我不确定这是否可以做到(问题 #2)。

而且我不知道是否有更好的方法来使用不同的数据结构来解决这个问题(问题 #3)。

谢谢!

【问题讨论】:

“打印输出”是什么意思?当然,您可以使用description 对整个结构进行“诊断转储”,但是如果您想以良好的、已定义的格式打印内容,则需要编写逻辑来执行此操作。不过,使用 NSDictionarys/NSArrays 基本上不会比使用常规 C 样式结构更困难。 @DanielRHicks 是的,当有多个键时,我试图打印出 NSDictionary 的值。 【参考方案1】:

为数据项创建一个类,为每个名称、ID、信息创建一个 iVar。这样你就有了很大的灵活性。

虽然 NSDictionary 最初似乎是一个简单的解决方案,但通常创建一个非常简单且可用性通常更好的类通常更好。

【讨论】:

以上是关于NSMutableDictionary 的 NSMutableArray 具有多个键,数据结构的主要内容,如果未能解决你的问题,请参考以下文章

自定义 iPhone 振动的强度

用于循环的 dropbox V2 DBFILESmetadata 不递增

尝试在 NSMuableDictionary 中设置值时应用程序崩溃

NSM 可变数据。为啥保留计数 1 比我预期的要高?

iOS - CoreData - TableViewController - NSInvalidArgumentException',原因:'+entityForName: nil 不是合法的 NSM

更改INSM地址的操作