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

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

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



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

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

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

猜的,可能不對。


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

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

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

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


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

【热门文章】
【热门文章】