This method should be implemented in subclasses that want to validate user changes to a string in a field, where the user changes are not necessarily at the end of the string, and preserve the selection (or set a different one, such as selecting the erroneous part of the string the user has typed).
- iOS 2.0+
- macOS 10.0+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
The new string to validate.
The selection range that will be used if the string is accepted or replaced.
The original string, before the proposed change.
The selection range over which the change is to take place.
If the user change is a deletion,
origcontains the range of the deleted characters.
nil, if validation fails contains an
NSStringobject that describes the problem.
partial is acceptable, otherwise
In a subclass implementation, evaluate
partial according to the context. Return
partial is acceptable and
partial is unacceptable. If you return
NO and assign a new string to
partial and a new range to
proposed, the string and selection range are changed, otherwise, if no values are assigned to
proposed, the change is rejected. If you return
NO, you can also return by indirection an
NSString object (in
error) that explains the reason why the validation failed; the delegate (if any) of the
NSControl object managing the cell can then respond to the failure in control:didFailToValidatePartialString:errorDescription:.