Initializer

init(cString:encoding:)

Returns an NSString object initialized using the characters in a given C array, interpreted according to a given encoding.

Declaration

convenience init?(cString nullTerminatedCString: UnsafePointer<Int8>, encoding: UInt)

Parameters

nullTerminatedCString

A C array of characters. The array must end with a NULL character; intermediate NULL characters are not allowed.

encoding

The encoding of nullTerminatedCString. For possible values, see NSStringEncoding.

Return Value

An NSString object initialized using the characters from nullTerminatedCString. The returned object may be different from the original receiver

Discussion

If nullTerminatedCString is not a NULL-terminated C string, or encoding does not match the actual character encoding, the results are undefined.

Special Considerations

Only 8-bit encodings are supported, as encodings that have a greater width, such as UTF-16, may include a NULL byte in a single unit, which would result in the premature termination of the C string.

See Also

Creating and Initializing Strings

init()

Returns an initialized NSString object that contains no characters.

init?(bytes: UnsafeRawPointer, length: Int, encoding: UInt)

Returns an initialized NSString object containing a given number of bytes from a given buffer of bytes interpreted in a given encoding.

init?(bytesNoCopy: UnsafeMutableRawPointer, length: Int, encoding: UInt, freeWhenDone: Bool)

Returns an initialized NSString object that contains a given number of bytes from a given buffer of bytes interpreted in a given encoding, and optionally frees the buffer.

init(characters: UnsafePointer<unichar>, length: Int)

Returns an initialized NSString object that contains a given number of characters from a given C array of UTF-16 code units.

init(charactersNoCopy: UnsafeMutablePointer<unichar>, length: Int, freeWhenDone: Bool)

Returns an initialized NSString object that contains a given number of characters from a given C array of UTF-16 code units.

init(string: String)

Returns an NSString object initialized by copying the characters from another given string.

init?(utf8String: UnsafePointer<Int8>)

Returns an NSString object initialized by copying the characters from a given C array of UTF8-encoded bytes.

init(format: String, arguments: CVaListPointer)

Returns an NSString object initialized by using a given format string as a template into which the remaining argument values are substituted without any localization. This method is meant to be called from within a variadic function, where the argument list will be available.

init(format: String, locale: Any?, arguments: CVaListPointer)

Returns an NSString object initialized by using a given format string as a template into which the remaining argument values are substituted according to given locale information. This method is meant to be called from within a variadic function, where the argument list will be available.

init?(data: Data, encoding: UInt)

Returns an NSString object initialized by converting given data into UTF-16 code units using a given encoding.

class func localizedUserNotificationString(forKey: String, arguments: [Any]?)

Returns a localized string intended for display in a notification alert.