Instance Method


Removes the given element and all elements subsumed by it.


@discardableResult mutating func remove(_ member: CMFormatDescription.Extensions.Value.FontFace) -> CMFormatDescription.Extensions.Value.FontFace?



The element of the set to remove.

Return Value

The intersection of [member] and the set, if the intersection was nonempty; otherwise, nil.


In the following example, the .priority shipping option is removed from the options option set. Attempting to remove the same shipping option a second time results in nil, because options no longer contains .priority as a member.

var options: ShippingOptions = [.secondDay, .priority]
let priorityOption = options.remove(.priority)
print(priorityOption == .priority)
// Prints "true"

// Prints "nil"

In the next example, the .express element is passed to remove(_:). Although .express is not a member of options, .express subsumes the remaining .secondDay element of the option set. Therefore, options is emptied and the intersection between .express and options is returned.

let expressOption = options.remove(.express)
print(expressOption == .express)
// Prints "false"
print(expressOption == .secondDay)
// Prints "true"