gpt4 book ai didi

objective-c - 为什么这个方法被调用两次?

转载 作者:行者123 更新时间:2023-12-03 16:25:28 26 4
gpt4 key购买 nike

以下代码行在我的单例 MAMusicPlayer 类上调用 currentPlaybackTime 方法两次:

float trackPosition = MAX(floor([[MAMusicPlayer sharedPlayer] currentPlaybackTime]),0.0f);
[scrubber setValue:trackPosition];

通过反复试验,我设法通过将代码调整为以下内容来解决该问题:

float trackPosition  = floor([[MAMusicPlayer sharedPlayer] currentTrackPosition]);
[scrubber setValue:MAX(trackPosition,0.0f)];

但是我仍然不明白为什么第一个示例应该调用该方法两次。由于这可能是相当基本的,我认为最好要求澄清。

最佳答案

MAX(a, b) 可能是一个定义为 ((a > b) ? a : b) 的宏,因此当术语替换 时ab,每个项计算两次。

关于objective-c - 为什么这个方法被调用两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5020784/

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