3

如何比较CFUUIDRefMac OS X 中 CoreFoundation Carbon 框架中的两个 s?除了将它们转换为字符串然后进行比较之外,是否有更简单的方法来检查两个 CFUUID 是否相等?

4

2 回答 2

9

CFUUID是一种CFType 因此您可以使用与任何其他 CF 对象相同的CFEqual函数。

于 2011-01-31T02:56:01.357 回答
1

我不确定本身是否有规范或推荐的方法,但以下就足够了吗?

#define CompareUUIDs(u1, u2) memcmp(CFUUIDGetUUIDBytes(u1), CFUUIDGetUUIDBytes(u2))

它将按如下方式使用:

if (CompareUUIDs(u1, u2) == 0) {
    // UUIDs are equal
} // etc..

或者,因为您只对它们是否相等感兴趣:

#define UUIDsAreEqual(u1, u2) (memcmp(CFUUIDGetUUIDBytes(u1), CFUUIDGetUUIDBytes(u2)) == 0)

它将按如下方式使用:

if (UUIDsAreEqual(u1, u2)) {
    // UUIDs are equal
} // etc..
于 2011-01-31T02:21:26.567 回答