IOS开发小问题-解释下一段代码

第一张图是代码,刚开始最后一段代码是没有的,-(void)viewWillAppear:(BOOL)animaled这段没有,运行后是第三张图,点击蓝色button才会显示时间,但加了最后那段代码后就不用点击就出现时间了,而且一点运行就显示时间,应该是[self showCurrentTime:nil]的作用,问下这段代码的作用是什么?

![![屏幕快照 2014-09-20 下午9.12.23.png][3]屏幕快照 2014-09-20 下午8.53.42.png][2]屏幕快照 2014-09-20 下午8.51.19.png

阅读 3.5k
4 个回答

雖然不懂 objective C,也沒用過 XCode,但是從字面上看,第一段代碼是按鈕單擊事件,最後一段代碼是準備顯示視圖的事件。

其中 [self showCurrentTime:nil] 的作用是調用第一段代碼,第一段代碼的作用是顯示時間。

因爲自動調用了,所以不用手動調用。。。

猜的,可能不對。

第一段代码是对一个控件事件的处理代码, 比如button的点击(“What time is IT?” button), 它的作用是在一个label上显示当前时间。 最后一段代码顾名思义,就是view即将要显示之前要调用的方法,可以看下UIViewController的介绍。在viewWillAppear里调用showCurrentTime:方法就是为了让那个label在最初的时候有个初始值, 不然只有当用户点击“What time is it” button之后, label上才会有显示。 但是这样调用其实是不太好的, 建议把showCurrentTime的逻辑单独放在一个方法里, 然后在button的点击事件(比如叫onTimeButtonTapped:)里以及viewWillAppear里分别调用之。

(IBAction) showCurrentTime:(id)sender
目测是 在 timeLabel 中显示 当前时间。

在viewWillAppear 意思 是当 Controller 界面将要显示的时候执行
这里的 [self showCurrentTime:nil] 是第一次刷新时间。

楼主的代码 主要作用是 点击按钮更新timeLabel里的时间,(不是实时更新)

所以第一次需要执行一次 [self showCurrentTime:nil] 这样label在初始的时候才能显示当前时间。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题