热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析Swift中重载方法调用父类同名方法引发崩溃的原因与解决方案

在Swift编程中,派生类中重写方法时调用其父类的同名方法是一种常见的做法。然而,如果不正确地处理这种调用,可能会导致程序崩溃。本文详细分析了这一问题的根源,并提供了有效的解决策略,帮助开发者避免此类错误。例如,在一个自定义的`ViewController`类中继承自`UITableViewController`时,如果重写了某个方法而未恰当调用父类的实现,就可能引发运行时异常。通过本文的指导,读者将能够更好地理解Swift中的方法重载机制,确保代码的稳定性和安全性。

我们常常会在派生类实例的override方法里调用其super同名方法,这很常见,比如:

class ViewController:UITableViewController{override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {super.tableView(tableView, didSelectRowAt: indexPath) //Will Crash!!!}

你知道上面那句super.xxx方法调用会发生什么吗???

注释里已经给出答案了:你的App会不给任何情面的崩掉 ;(

你可能不会相信!?请你实际试一下哦.

之所以会崩溃的原


推荐阅读
author-avatar
淘老婆桃桃_267
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有