Iphone 类属性与NSArray/NSDictionary

Iphone 类属性与NSArray/NSDictionary,iphone,objective-c,data-structures,Iphone,Objective C,Data Structures,我想要一个自定义的类对象来保存数据,并且我觉得创建大约80个属性并不是最好的方法 大多数属性都是bool值,因此我考虑创建数组(键/值)或(可能更好)附加到对象的NSDictionary来保存数据。这有意义吗?还是我应该留在酒店 额外:不同的方法有一般的优点和缺点吗?我必须搜索哪些关键词/概念才能找到关于这个普遍问题的讨论 提前感谢我同意您最好使用对象来保存这些值。这将使您的代码更易于阅读/理解。我会使用NSDictionary而不是数组,因为这样您就可以按名称访问每个布尔值。数组意味着您必须按

我想要一个自定义的类对象来保存数据,并且我觉得创建大约80个属性并不是最好的方法

大多数属性都是bool值,因此我考虑创建数组(键/值)或(可能更好)附加到对象的NSDictionary来保存数据。这有意义吗?还是我应该留在酒店

额外:不同的方法有一般的优点和缺点吗?我必须搜索哪些关键词/概念才能找到关于这个普遍问题的讨论


提前感谢

我同意您最好使用对象来保存这些值。这将使您的代码更易于阅读/理解。我会使用NSDictionary而不是数组,因为这样您就可以按名称访问每个布尔值。数组意味着您必须按索引访问元素,使代码更难理解。

我同意使用对象保存这些值会更好。这将使您的代码更易于阅读/理解。我会使用NSDictionary而不是数组,因为这样您就可以按名称访问每个布尔值。数组意味着您必须通过索引访问元素,这使得代码更难理解。

如果您希望有某种行为,您应该使用类来创建对象(在将来的程序中)。我的意思是,对象不仅仅是存储变量的东西。它还假设了某种活动(称为行为)。属性不仅是设置某些值(作为对象的特征)的方式,也是影响此行为的方式(您可以添加额外的代码部分,除了保存数据-一些检查或smth.else)

如果您只需要构造来存储数据,那么将数据存储为数组或字典不仅更好,而且更符合逻辑


字典在大多数情况下更好,因为您可以通过键名访问存储的值。你的代码会更容易理解。但数组的访问速度应该更快(我不知道确切情况,只是假设)(在其他字符串中查找字符串键比在递增的数字序列中查找索引更困难)。

如果您期望某种行为,您应该使用类来创建对象(在未来的程序中)。我的意思是,对象不仅仅是存储变量的东西。它还假设了某种活动(称为行为)。属性不仅是设置某些值(作为对象的特征)的方式,也是影响此行为的方式(您可以添加额外的代码部分,除了保存数据-一些检查或smth.else)

如果您只需要构造来存储数据,那么将数据存储为数组或字典不仅更好,而且更符合逻辑


字典在大多数情况下更好,因为您可以通过键名访问存储的值。你的代码会更容易理解。但是数组应该是(我不知道,只是假设)访问速度更快(在其他字符串中查找字符串的难度比在递增的数字序列中找到索引要难)。<> > <代码> NSArray < /C> >存储基础对象(Base<代码> NS )类型的对象,如“代码> NStUns<代码>,<代码> NString 等)。在索引容器中。
NSArray
没有键值对。您将使用<代码> nSc字典< /Cord>将基类对象存储在键值对中。


任何事情的80%都是很多。你能把这些分组吗?这可能会使这个数据集的维护更易于管理。< < >代码> NSArray < /C> >在索引容器中存储基础对象(Base<代码> NS 类类型的对象,如代码> NStuts,<代码> NScord等)。
NSArray
没有键值对。您将使用<代码> nSc字典< /Cord>将基类对象存储在键值对中。


任何事情的80%都是很多。你能把这些分组吗?这可能会使该数据集的维护更易于管理。

事实上,我只需要该数据对象来设置和保存数据。所以,当我理解你的权利,我不需要一个自定义的数据对象,在所有,但应该直接使用一个NSDictionary对象,而不是?关于使用80+变量。。。我认为,亚历克斯·雷诺兹(Alex Reynolds)的建议(如下)是这里最好的建议——你应该尝试将类似的数据分组以创建子集。如果您的数据真的“简单”(如bool、int或float值——没有硬内存管理),您也可以使用结构(C-structs)。优点:良好的内存使用(没有额外的内存来保存密钥或其他东西)、代码完成(在键入期间)和编译器时间检查。事实上,我只需要数据对象来设置和保存数据。所以,当我理解你的权利,我不需要一个自定义的数据对象,在所有,但应该直接使用一个NSDictionary对象,而不是?关于使用80+变量。。。我认为,亚历克斯·雷诺兹(Alex Reynolds)的建议(如下)是这里最好的建议——你应该尝试将类似的数据分组以创建子集。如果您的数据真的“简单”(如bool、int或float值——没有硬内存管理),您也可以使用结构(C-structs)。优点:良好的内存使用(没有额外的内存来保存密钥或其他东西)、代码完成(在键入期间)和编译器时间检查。