我正在做一些练习。例如,我在storybard中创建了两个视图控制器,并且我想通过单击按钮从VC1中的VC2更改颜色。在这种情况下,委托是需要的还是其他方式来做到这一点?当我想在另一个VC中的VC上更改某些内容时,是否必须使用委托? SWIFT
0
A
回答
0
通常,是的。但那取决于。您可以使用NotificationCenter,您可以使用“准备”功能。代表是这里最常用的选项。你的情况:
protocol ChangeButtonColorDelegate {
func changeButtonColor()
}
class VC1 : ChangeButtonColorDelegate... {
func changeButtonColor() {
/* change button color here */
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "goto_vc2") {
(segue.dest as! VC2).delegate = self
}
}
}
class VC2 : ... {
var delegate : ChangeButtonColorDelegate!
}
相关问题
- 1. 我是否必须在我的MKMapview委托上实现mapView:regionWillChangeAnimated:?
- 2. MonoTouch.Dialog:添加(System.Collections.Generic.IEnumerable <MonoTouch.Dialog.Element>)已过时 - 是否必须更改某些内容?
- 3. Swift:以编程方式设置VC帧来自另一个VC
- 4. 委托链接是否必须以空委托开始?
- 5. VC++项目,想在另一个IDE内编译,但缺少一些东西
- 6. 如何更换另一个VC中的容器? iOS的
- 7. 2个单独的UIGestureRecognizer委托在两个独立的VC
- 8. 在UITextView上更改文本时是否有委托调用?
- 9. 在处理Container VC时无法让我的委托协议工作?
- 10. 我必须使用协议/委托让ViewController执行在另一个类中创建的UIButton的操作吗?
- 11. 在VC++中处理事件处理程序时更改EditBox的内容mfc
- 12. 更改当我点击某个产品时出现的内容
- 13. 这些天使用VC++吗?
- 14. 当我想在移动设备上使用AMPed版本时,是否必须维护两个版本的网站?
- 15. 如果您在.h文件中包含某些内容您是否必须再次包含相同的内容?
- 16. 在页面视图控制器中更改VC的索引(Swift)
- 17. 在VC++中的一些错误
- 18. 如何使用amslidemenu更改启动VC?
- 19. 是否存在某些内容的div
- 20. 当VC从另一个VC返回时,如何清除UITableVIew中的所有检查?
- 21. 当我有svn @ sourceforge时,是否必须使用maven仓库?
- 22. 我是否必须创建一个类的实例才能为其指派一个委托?
- 23. 妙传VC++到VC#一个ULONG64阵列和释放内存
- 24. [VC++]如何在另一台PC上运行我的程序?
- 25. 当触摸VC时,3D Touch调用viewDidDisappear VC
- 26. 将数组传递给另一个VC(Swift)
- 27. 我是否必须更改所有的htmlspecialchars ... mysql_real_escape_string中的ENT_QUOTES?
- 28. 迅速IOS试图改变某些VC的
- 29. 当我只想修改一个SQL语句时,是否必须包含所有列属性?
- 30. 显示警报消息从方法所需的VC在另一个VC
另请参见[这里](https://www.youtube.com/watch?v=7fbTHFH3tl4) – Honey
我只是做:) TXH – motivated