pre*_*io2 2 c cocoa objective-c
以下代码行在currentPlaybackTime我的singleton MAMusicPlayer类上调用了两次方法:
float trackPosition = MAX(floor([[MAMusicPlayer sharedPlayer] currentPlaybackTime]),0.0f);
[scrubber setValue:trackPosition];
Run Code Online (Sandbox Code Playgroud)
通过反复试验,我设法通过调整代码来解决问题:
float trackPosition = floor([[MAMusicPlayer sharedPlayer] currentTrackPosition]);
[scrubber setValue:MAX(trackPosition,0.0f)];
Run Code Online (Sandbox Code Playgroud)
但是我仍然不明白为什么第一个例子应该调用该方法两次.由于这可能是相当基础的,我认为最好要求澄清.
MAX(a, b)可能是定义为宏((a > b) ? a : b),因此,当术语被取代a和b,每个术语被评估两次.
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |