2012-03-09 27 views
7

सीएमटीम कॉम्पैयर कैसे काम करता है? ऐसा लगता है कि ऐप्पल ने अपने दस्तावेज से वापसी मूल्यों को छोड़ दिया है।सीएमटाइम कॉम्पैयर कैसे काम करता है?

https://developer.apple.com/library/mac/#documentation/CoreMedia/Reference/CMTime/Reference/reference.html

मुझे लगता है अगर बार बराबर यह शून्य रिटर्न कर रहे हैं और वापस जाने के सकारात्मक या नकारात्मक 1 पर जो अधिक से अधिक है आधारित?

उत्तर

18

से CMTime.h:

संख्यात्मक संबंध रिटर्न (-1 = कम, की तुलना में 1 = से अधिक, 0 = बराबर) दो CMTimes की।

-1 वापस किया गया है यदि समय 1 समय 2 से कम है। अगर वे बराबर हैं तो 0 वापस कर दिया जाता है। 1 समय वापस आ गया है यदि समय 1 समय 2 से अधिक है।

संपादित करें:

कृपया ध्यान दें कि:

अमान्य CMTimes अन्य अवैध CMTimes, और से अधिक किसी भी अन्य CMTime के बराबर माना जाता है। सकारात्मक अनंतता को किसी भी अवैध सीएमटाइम, से कम माना जाता है, और किसी भी अन्य सीएमटाइम से अधिक माना जाता है। एक अनिश्चितकालीन सीएमटाइम को किसी भी अवैध सीएमटाइम से कम होने के लिए, सकारात्मक अनंतता से कम, और किसी भी अन्य सीएमटाइम से अधिक माना जाता है। नकारात्मक अनंतता को अपने आप के बराबर माना जाता है, और किसी भी अन्य सीएमटाइम से कम।

+0

तो मैं क्या 'CMTimeCompare (ए, बी)' यह रिटर्न -1 अगर एक Dex

+1

-1 वापस आ गया है यदि समय 1 समय 2 से कम है। तो हाँ। – fbernardo

3
एक विकल्प के बहुत, CMTimeCompare() से पढ़ CMTIME_COMPARE_INLINE macro उपयोग करने पर विचार करने के लिए आसान है कि के लिए

। उदाहरण के लिए

CMTIME_COMPARE_INLINE(time1, <=, time2) 

सच वापस आ जाएगी अगर समय 1 < = समय 2

+0

दुर्भाग्यवश, सीएमटीईएमई_COMPARE_INLINE स्विफ्ट में अभी तक उपलब्ध नहीं है। – adriaan