gpt4 book ai didi

objective-c - 这个 "&"在这个语句中是如何工作的呢?

转载 作者:行者123 更新时间:2023-12-03 16:23:49 36 4
gpt4 key购买 nike

我知道按位AND是如何工作的,但我不明白(sourceDragMask & NSDragOperationGeneric)在这里如何工作,我不明白这一点。有谁可以向我解释一下吗?非常感谢。

- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender
{
NSPasteboard *pboard;
NSDragOperation sourceDragMask;

sourceDragMask = [sender draggingSourceOperationMask];
pboard = [sender draggingPasteboard];

if ( [[pboard types] containsObject:NSColorPboardType] )
{
if (sourceDragMask & NSDragOperationGeneric)
{
return NSDragOperationGeneric;
}
}

return NSDragOperationNone;
}

最佳答案

NSDragOperationGeneric 是一个位掩码(可能是 2 的幂),这意味着数字中仅设置了一位。当且仅当在 sourceDragMask 中设置了相应位时,带有 sourceDragMask 的按位 & 才会产生非零输出。

假设(我不知道 NSDragOperationGeneric 的实际值):

sourceDragMask:         00011010
NSDragOperationGeneric: 00001000
a & b: 00001000

简而言之,如果 sourceDragMask 设置了“NSDragOperationGeneric”位,则 if 语句将会成功。

关于objective-c - 这个 "&"在这个语句中是如何工作的呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2662316/

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