Up

# NSFormatter class reference

### Authors

Richard Frith-Macdonald (`richard@brainstorm.co.uk`)

Date: Generated at 2025-02-13 06:02:40 +0000

Copyright: (C) 1998 Free Software Foundation, Inc.

# Software documentation for the NSFormatter class

## NSFormatter : NSObject

> Declared in:
>   Foundation/NSFormatter.h

> Conforms to:
>   NSCopying
>   NSCoding

Availability: MacOS-X 10.0.0
This abstract class defines the interface for classes that support conversion between strings and objects of various types. GNUstep provides two concrete implementations of this class: NSDateFormatter and NSNumberFormatter . Others may be implemented for specialized applications.
Method summary

- -attributedStringForObjectValue:withDefaultAttributes:
- -editingStringForObjectValue:
- -getObjectValue:forString:errorDescription:
- -isPartialStringValid:newEditingString:errorDescription:
- -isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:
- -stringForObjectValue:

### attributedStringForObjectValue: withDefaultAttributes:

- (NSAttributedString*) attributedStringForObjectValue: (id)anObject withDefaultAttributes: (NSDictionary*)attr;
Availability: MacOS-X 10.0.0
This method calls [-stringForObjectValue:] then marks up the string with attributes if it should be displayed specially. For example, in an application you may want to display out-of-range dates or numbers in italics. This is an optional method and may return `nil` to indicate that an attributed string is not provided.

### editingStringForObjectValue:

- (NSString*) editingStringForObjectValue: (id)anObject;
Availability: MacOS-X 10.0.0
For use in applications where user interactively edits a string. If the version of the string for editing purposes should look different from the string displayed (returned by [-stringForObjectValue:] or -attributedStringForObjectValue:withDefaultAttributes: ), return that here. For example, the edited string may contain formatting codes or similar that are not displayed in the final string. The default implementation simply returns -stringForObjectValue: .

### getObjectValue: forString: errorDescription:

- (BOOL) getObjectValue: (id*)anObject forString: (NSString*)string errorDescription: (NSString**)error;
Availability: MacOS-X 10.0.0
Subclasses must override this method.
Primary method for converting a string to an object through parsing. anObject and error are output parameters; you should allocate memory for one pointer each for the variables passed into these methods. The returned object will have been created through `alloc-init`. If there is a problem with conversion, a constant-string description of what went wrong is returned through error, and `NO` is returned, otherwise `YES`.

### isPartialStringValid: newEditingString: errorDescription:

- (BOOL) isPartialStringValid: (NSString*)partialString newEditingString: (NSString**)newString errorDescription: (NSString**)error;
Availability: MacOS-X 10.0.0
Checks whether partialString could, if it were completed, be parsed into a valid object. newString and error are output parameters; you should allocate memory for one pointer each for the variables passed into these methods. This method is set up to be called after every keystroke during user editing. If it returns `NO`, it optionally returns newString to replace what the user was editing; if it doesn't, the editor should delete the last character the user typed.

### isPartialStringValid: proposedSelectedRange: originalString: originalSelectedRange: errorDescription:

- (BOOL) isPartialStringValid: (NSString**)partialStringPtr proposedSelectedRange: (NSRange*)proposedSelRangePtr originalString: (NSString*)origString originalSelectedRange: (NSRange)originalSelRangePtr errorDescription: (NSString**)error;
Availability: MacOS-X 10.0.0
Checks whether a change to a string leaves it a valid string that, if it were completed, could be parsed into a valid object. origString contains the string before the proposed change, and origSelRange contains the range that is updated in the proposed change. partialStringPtr contains the new string to validate and proposedSelRangePtr holds the selection range that will be used if the string is accepted or replaced. Basically, this method returns `YES` if partialStringPtr is valid, otherwise `NO` and may replace partialStringPtr and proposedSelectedRange with improved values, and may report the reason in error.

### stringForObjectValue:

- (NSString*) stringForObjectValue: (id)anObject;
Availability: MacOS-X 10.0.0
Subclasses must override this method.
Primary method for converting an object to a string through formatting. Object will be converted to string according to the formatter's implementation and init parameters. There is no default handling if the class of anObject is not what the formatter expects, and usually `nil` will be returned in this case.

Up