Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 具有大量参数的库_Objective C_Design Patterns_Frameworks_Model_Shared Libraries - Fatal编程技术网

Objective c 具有大量参数的库

Objective c 具有大量参数的库,objective-c,design-patterns,frameworks,model,shared-libraries,Objective C,Design Patterns,Frameworks,Model,Shared Libraries,我正在开发一个供我自己和第三方使用的库。要初始化这个库,我需要传递大量的必需参数。我还不知道总共有多少人,但我已经9岁了 我正试图找出传递这些参数的最佳方式 1) 逐个传递每个参数。这将变得笨拙且容易出错 2) 为每个参数提供一个常量,并使库需要一个哈希表,每个常量都是值的键 3) 创建包含所有字段的模型对象,并使其可供用户使用 数字2和3似乎是最好的,尽管我不确定我在其他地方是否见过它们的实现。您的3。看起来很有希望。 将所有9个或更多值传递给一个对象将是可读的 另外,如果需要发送类似类型的值

我正在开发一个供我自己和第三方使用的库。要初始化这个库,我需要传递大量的必需参数。我还不知道总共有多少人,但我已经9岁了

我正试图找出传递这些参数的最佳方式

1) 逐个传递每个参数。这将变得笨拙且容易出错

2) 为每个参数提供一个常量,并使库需要一个哈希表,每个常量都是值的键

3) 创建包含所有字段的模型对象,并使其可供用户使用


数字2和3似乎是最好的,尽管我不确定我在其他地方是否见过它们的实现。

您的3。看起来很有希望。

将所有9个或更多值传递给一个对象将是可读的


另外,如果需要发送类似类型的值,可以发送数组或字典。

它必须是字典,因为这些值需要标记。您可以使用结构。然而,在ARC中,您不能将对象指针用作结构字段……结构和简单的Objective-C类之间没有太大区别。而且类更容易管理,不是吗?是的,在这种情况下,结构类和ObjC类之间没有太大区别,尽管类与结构相比需要额外的内存空间。但这不是一个关键的情况,所以这里不存在过热问题,对象可以很好地解决这个问题,更不用说在ARC下使用指向结构中对象的指针的问题了,如果是这样的话。。。