NSCharacterSet object represents a set of Unicode-compliant characters.
NSScanner objects use
NSCharacterSet objects to group characters together for searching operations, so that they can find any of a particular set of characters during a search. The cluster’s two public classes,
NSMutableCharacterSet, declare the programmatic interface for static and dynamic character sets, respectively.
- iOS 8.0+
- macOS 10.10+
- tvOS 9.0+
- watchOS 2.0+
The objects you create using these classes are referred to as character set objects (and when no confusion will result, merely as character sets). Because of the nature of class clusters, character set objects aren’t actual instances of the
NSMutableCharacterSet classes but of one of their private subclasses. Although a character set object’s class is private, its interface is public, as declared by these abstract superclasses,
NSMutableCharacterSet. The character set classes adopt the
NSMutableCopying protocols, making it convenient to convert a character set of one type to the other.
NSCharacterSet class declares the programmatic interface for an object that manages a set of Unicode characters (see the
NSString class cluster specification for information on Unicode).
NSCharacterSet’s principal primitive method,
characterIsMember(_:), provides the basis for all other instance methods in its interface. A subclass of
NSCharacterSet needs only to implement this method, plus
mutableCopy(with:), for proper behavior. For optimal performance, a subclass should also override
bitmapRepresentation, which otherwise works by invoking
characterIsMember(_:) for every possible Unicode value.