[swift-users] Foundation on Linux `CFBooleanGetTypeID`/`CFGetTypeID`

Tony Parker anthony.parker at apple.com
Tue May 24 14:52:30 CDT 2016

> On May 24, 2016, at 12:49 PM, Jens Alfke <jens at mooseyard.com> wrote:
>> On May 24, 2016, at 11:03 AM, Tony Parker <anthony.parker at apple.com <mailto:anthony.parker at apple.com>> wrote:
>> Why not use `func boolValue` instead, if you need a true/false answer?
> I don’t remember the original code snippet, but there are cases where you need to know what type of number is stored in an NSNumber. An example is encoding to JSON, where a boolean value should be written as “true” or “false”, not “1” or “0”.
> —Jens

Fair enough, and we do use this trick in NSJSONSerialization(.m).

One other possibility is using the objCType property on NSNumber’s superclass NSValue to check. I haven’t seen how much of this is implemented in corelibs-foundation yet. We did redefine Boolean to _Bool in Swift CF, so we’ll have to see if that accidentally resulted in a runtime difference between platforms here that we didn’t consider.

- Tony

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160524/c6ea738f/attachment.html>

More information about the swift-users mailing list