Objective-C Bitmask Enumeration Essentials
pumpmybicep.com
Objective-C Bitmask Enumeration Essentials
1–9 of 9 posts
Re: Objective-C Bitmask Enumeration Essentials
#2You should take care if you store result of this in a BOOL (or pass it to a method or function that takes a BOOL). BOOL is only char big and plenty of common Cocoa bitmasks don't have any bits set in that range. For example NSEventMaskEndGesture is (1
NSEventMask mask = NSEventMaskEndGesture;
BOOL end = mask & NSEventMaskEndGesture;
if (!end) NSLog(@"Oops");Re: Objective-C Bitmask Enumeration Essentials
#3>Use the bitwise AND operator & to check for a selected bitmask enumeration value. You should take care if you store result of this in a BOOL (or pass it to a method or function that takes a BOOL). BOOL is only char big and plenty of common Cocoa bitmasks don't have any bits set in that range. For example NSEventMaskEndGesture is (1 NSEventMask mask = NSEventMaskEndGesture; BOOL end = mask & NSEventMaskEndGesture; if…
BOOL end = mask & NSEventMaskEndGesture ? YES : NO;Re: Objective-C Bitmask Enumeration Essentials
#4>Use the bitwise AND operator & to check for a selected bitmask enumeration value. You should take care if you store result of this in a BOOL (or pass it to a method or function that takes a BOOL). BOOL is only char big and plenty of common Cocoa bitmasks don't have any bits set in that range. For example NSEventMaskEndGesture is (1 NSEventMask mask = NSEventMaskEndGesture; BOOL end = mask & NSEventMaskEndGesture; if…
Is this the correct approach? BOOL end = mask & NSEventMaskEndGesture ? YES : NO;
Re: Objective-C Bitmask Enumeration Essentials
#5Re: Objective-C Bitmask Enumeration Essentials
#6>Use the bitwise AND operator & to check for a selected bitmask enumeration value. You should take care if you store result of this in a BOOL (or pass it to a method or function that takes a BOOL). BOOL is only char big and plenty of common Cocoa bitmasks don't have any bits set in that range. For example NSEventMaskEndGesture is (1 NSEventMask mask = NSEventMaskEndGesture; BOOL end = mask & NSEventMaskEndGesture; if…
Is this the correct approach? BOOL end = mask & NSEventMaskEndGesture ? YES : NO;
Re: Objective-C Bitmask Enumeration Essentials
#7I suppose that Cocoa uses bitmasks fairly often, but this article could have been titled "Working With Bitmasks in C" and it would have been just as accurate.
Re: Objective-C Bitmask Enumeration Essentials
#8>Use the bitwise AND operator & to check for a selected bitmask enumeration value. You should take care if you store result of this in a BOOL (or pass it to a method or function that takes a BOOL). BOOL is only char big and plenty of common Cocoa bitmasks don't have any bits set in that range. For example NSEventMaskEndGesture is (1 NSEventMask mask = NSEventMaskEndGesture; BOOL end = mask & NSEventMaskEndGesture; if…
Is this the correct approach? BOOL end = mask & NSEventMaskEndGesture ? YES : NO;
BOOL end = !! (mask & NSEventMaskEndGesture);
Like a little pair of surprised eyes.Also works for pointers:
BOOL hasError = !! errorObj;