如何在iOS中调用方法?有很多方法声明在任何地方都没有被调用,但是如果我在方法中放置一个断点,它将停止在方法块中执行。我一直在使用的一个库是ICViewPager。
几乎没有显式的方法调用,如果在没有任何想法被调用的情况下声明随机方法,我怎么知道程序的执行。如果在代码中的任何位置搜索方法名称,则只有一个结果。它们是如何执行的?是什么决定了执行顺序?
答案 0 :(得分:5)
大多数用户交互式应用程序(无论是移动应用程序,桌面应用程序还是Web)都使用事件驱动的方法。响应通常由用户发起的事件调用方法,但可能通过其他操作(例如来自网络的数据包到达或更新的GPS位置数据的可用性)调用方法。
执行的顺序在很大程度上取决于这些事件的顺序;显然,某些代码块(例如应用程序初始化以及UIViewController生命周期方法)将始终同时或以相同的顺序相互关联,但通常执行是异步的。
因此,您无法在时间上明确说明执行的确切顺序(即,您不能说" a将在5秒后运行,然后b将在此之后运行,然后...&#34)。您可以理解响应事件的执行顺序 - "当用户点击此按钮时,此方法将执行。它更新服务器上的数据。" "当服务器通知数据已保存时,执行此代码以更新文本字段"或者"当蓝牙外围设备发送数据时,此代码执行"。
在drawRect:
的情况下,菲尔在他的评论中指出的答案基本上是"每当系统需要这种控制来吸引自己时#34;。因为您不知道用户将要做什么或将要发生什么(例如手机可能响铃,完全从应用程序控件更新显示,需要drawRect调用),您不能确切知道什么时候会被召唤出来。
您需要了解您正在编写代码的上下文,触发它的内容以及代码需要执行的操作。
如果上下文是子类,例如UIView或UIViewController,那么您需要参考文档以查看代码需要实现的事件或方法。
如果上下文是用户事件处理程序(比如按钮点击),那么您需要实现响应该事件所需的任何逻辑。
不幸的是,我认为在您提到的对象的情况下,您的问题的答案归结为" RTFM"在很多情况下;您需要了解正在进行子类化的类以及所需的事件和方法。
学习Swift或Objective-C是iOS开发的简单部分。理解类和框架以及它们如何工作是真正的学习曲线!
答案 1 :(得分:0)
Xcode可以显示有关来电者和被叫者的信息
caller
和callee
个菜单项,显示有关所选符号的当前信息