如果我在A类中,并且想在B类中运行一个函数,我可以用几种方法来完成。在我的应用程序中,我使用两种不同的方式,他们的行为不同,但我不知道为什么。代表与类参考
第一个是通过授权。我建立一个协议,设定在prepareForSegue委托,然后用它来从B类回叫A类:
var delegateToParentVC: mainViewDelegate!
delegateToParentVC.sendAsMsg(txtTask.text!, descPassed: txtDesc.text)
我的第二个方法是,在I类A类分配给一个变量。然后我能够使用它来引用类A
let allocVC = AllocationViewController()
allocVC.sendAsMsg(txtTask.text!, descPassed: txtDesc.text)
第二种方法似乎更容易在设置(没有协议,没有prepareForSegue代码)功能。但是,它会导致更多的故障,我不明白为什么。
例如,无论何时我使用第二种方法运行A中具有解除B的代码的功能,似乎会造成麻烦。从我所知道的情况来看,任何时候我需要一个特定的操作顺序,除非我使用授权,否则我会遇到麻烦。
我不是张贴问题的解决方案。我真的需要有人解释为什么他们不同,并举例说明何时使用它们。
你对“毛刺”有点含糊。由于存在大量可能的故障,并且您正在尝试学习,因此指定所述故障以便向他们解释是个好主意。这将帮助你巩固你从这里提供的答案中学到的东西。 –
@JoshuaNozzi嗨约书亚,我真的很喜欢尝试解决我自己的问题后来更好地了解差异。代表团似乎对我来说是极其不必要的,除非它是为了类型安全的原因。为什么要打扰更多的设置代码?所以我只是试图理解它们在执行/运行方式上的差异,以及什么时候使用它们的最佳例子。 –