Initializer

init(charactersNoCopy:length:freeWhenDone:)

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

Declaration

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

Parameters

characters

A C array of UTF-16 code units.

length

The number of characters to use from characters.

flag

If true, the receiver releases the memory with free() when it no longer needs the data; if false it won’t.

Return Value

An initialized NSString object that contains length characters from characters. The returned object may be different from the original receiver.

Discussion

If an error occurs during the creation of the string, then bytes is not freed even if flag is true. In this case, the caller is responsible for freeing the buffer. This allows the caller to continue trying to create a string with the buffer, without having the buffer deallocated.

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(string: String)

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

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

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

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.