iOS 中如何不通过继承,重写实例方法 ?

发布于 2022-09-01 19:18:29 字数 196 浏览 23 评论 0

1.因为线上bug 不少,很多崩溃是因为insertOjbect nil 对象,但是这样就会导致崩溃出现在 framework 或者 dylib中,这样,就不容易定位代码了,我现在希望崩溃出现在app 代码中,这样,可以快速定位到崩溃位置

2.我现在希望重写这些方法,但是最好方法名不要改,也不要继承,不然工作量会很大。

3.有什么好的建议么 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别把无礼当个性 2022-09-08 19:18:29

重载 NSMutableArray 会很麻烦,由于它本身是由类簇组成,如果实现一个子类,需要实现很多个子类的方法。
详见:inheritance-issues-in-objective-c

Swizzle 的方式替换掉原有的方法也不是一个好的选择,因为你没办法看到它原有的实现,涉及到一些引用计数的调用,替换后在某些情况下会崩溃。

更好的方式是使用 Category,新增一个安全的插入方法,并且把所有的 insertOjbect 改为你新增的 my InsertOjbect 方法。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文