我有一个类,称之为A
将一些数据解析为NSDictionary
. 该类有一个表格视图,当一个单元格被选中时,会实例化一个新类,我们称之为该类B
。类B
反过来实例化类C
。我希望班级C
接收NSDictionary
在A
.
代表会工作吗?即使C
没有实例化类,它会起作用吗?如果这是真的而且它真的不是,我应该在方法中传递来自A
--> B
-->的数据吗?Objective-C 中有更好的消息传递方法吗?C
init
我有一个类,称之为A
将一些数据解析为NSDictionary
. 该类有一个表格视图,当一个单元格被选中时,会实例化一个新类,我们称之为该类B
。类B
反过来实例化类C
。我希望班级C
接收NSDictionary
在A
.
代表会工作吗?即使C
没有实例化类,它会起作用吗?如果这是真的而且它真的不是,我应该在方法中传递来自A
--> B
-->的数据吗?Objective-C 中有更好的消息传递方法吗?C
init
我应该在 init 方法中从 A-->B-->C 传递数据吗?
我认为这是最好的计划。
A 真的不必担心 B 如何做它所做的事情。B 使用 C 的事实与 A 无关。A 需要知道的是,B 需要字典才能做到这一点。
碰巧的是,B 并不太关心字典,但字典应该是 B 的工作描述的一部分,类似于:获取给你的数据并以某种方式显示它。如果 B 通过将字典直接传递给 C 来处理字典,那很好——这不是 A 应该关心的事情。
您可以对代表做同样的事情。A 可以给 B 一个对自身作为数据源的引用,而 B 最终可以将其传递给 C。这与使用字典的过程相同,因此如果您可以将 C 中的所有内容都放入,那么这样做并没有真正的优势需要进字典。如果 A 事先不知道确切需要什么数据,或者当您希望 A 能够以某种方式自定义 C 的行为时,您可能会考虑切换到委托。
我会通过 init 传递它。或者取决于什么样的“A”类。您可以将其设为单例,或将解析后的字典传递给单例,然后直接从“C”中引用它。