如何比较CFUUIDRef
Mac OS X 中 CoreFoundation Carbon 框架中的两个 s?除了将它们转换为字符串然后进行比较之外,是否有更简单的方法来检查两个 CFUUID 是否相等?
问问题
1248 次
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 回答