gpt4 book ai didi

ios - iOS 方法在哪里被调用?

转载 作者:行者123 更新时间:2023-12-01 17:50:21 28 4
gpt4 key购买 nike

在 iOS 中是如何调用方法的?有很多方法声明在任何地方都没有被调用,但是如果我在方法中放置一个断点,它将在方法 block 中停止执行。我一直在使用的一个库是 ICViewPager .

几乎没有显式的方法调用,如果声明了随机方法而不知道它们被调用的位置,我应该如何知道程序的执行。如果您在代码中的任何位置搜索方法名称,则只有一个结果。他们是如何被处决的?什么决定了执行顺序?

最佳答案

大多数用户交互应用程序(无论是移动、桌面还是 Web)都使用事件驱动的方法。方法被调用以响应通常由用户发起的事件,但也可能由其他 Action 来调用,例如来自网络的数据包的到达或更新的 GPS 位置数据的可用性。

执行顺序很大程度上取决于这些事件的顺序;显然,某些代码块,例如应用程序初始化和 UIViewController 生命周期方法,总是会同时发生或以相同的顺序发生,但通常执行是异步的。

因此,您无法真正用时间术语说明确切的执行顺序(即,您不能说“a 将在 5 秒后运行,然后 b 将在此之后运行,然后......”)。你可以理解响应事件的执行顺序——“当用户点击这个按钮时,这个方法就会执行。它会更新服务器上的数据。” “当服务器通知数据已保存时,执行此代码更新文本字段”或“当蓝牙外设发送数据时,执行此代码”。

drawRect: 的情况下正如菲尔在他的评论中指出的那样,答案基本上是“只要系统需要这个控件来绘制自己”。因为您不知道用户将要做什么或将要发生什么(例如,电话可能会响铃,完全不受您的应用程序控制的更新显示,需要 drawRect 调用)您无法准确知道什么时候发生将被调用。

您需要了解您正在编写一些代码的上下文,什么会触发它以及代码需要做什么。

如果上下文是子类,例如 UIView 或 UIViewController,那么您需要引用文档以查看您的代码需要实现哪些事件或方法。

如果上下文是用户事件处理程序(例如按钮点击),那么您需要实现响应该事件所需的任何逻辑。

不幸的是,我认为在您提到的对象的情况下,您的问题的答案在许多情况下归结为“RTFM”;您需要了解被子类化的类以及所需的事件和方法。

学习 Swift 或 Objective-C 是 iOS 开发中最容易的部分。了解类和框架以及它们是如何工作的才是真正的学习曲线!

关于ios - iOS 方法在哪里被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33020927/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com