ios - 方法和协议的区别?
问题描述
在classC中,方法和协议都可以调用函数,它们有什么区别?方法是否需要更多内存?
我知道的一件事是协议可以包含不同类的功能。
protocol MyDelegate{
func printInA()
}
class ClassA: UITableViewController, MyDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
func printInA(){
print("I'm in ClassA")
}
}
class ClassB: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
func pringInB(){
print("I'm in ClassB")
}
}
class ClassC: UITableViewController {
var myInstance:MyDelegate = ClassA()
override func viewDidLoad() {
super.viewDidLoad()
myInstance.printInA()
let k = ClassB()
k.pringInB()
}
}
解决方案
推荐阅读
- reactjs - React-JS / react-router-dom 中的路由问题
- ruby-on-rails - Rails 5 以一种形式创建同一模型的多个记录,未知属性错误
- css - 如何在 IE 11 中显示:grid div 以占据整个屏幕?(100vh 似乎不起作用)
- html - 为什么我的 HTML 表格不遵守指定的布局?
- web-traffic - 如何在给定时间获得给定网址(不在我的网站上)的多次点击?
- javascript - 如何从 3rd 方 api 中提取数据并使用 javascript 将其显示在我的页面上?
- javascript - 反应将增量数据传递给父级
- agens-graph - 如何在 AgensGraph 上使用“分组依据”查询?
- postgresql - How to ALTER ROLE for many roles?
- javascript - How to select an anchor element based on some text in the URL?