Contents

init(bytesNoCopy:length:encoding:freeWhenDone:)

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.

Declaration

convenience init?(bytesNoCopy bytes: UnsafeMutableRawPointer, length len: Int, encoding: UInt, freeWhenDone freeBuffer: Bool)

Parameters

  • bytes:

    A buffer of bytes interpreted in the encoding specified by encoding.

  • len:

    The number of bytes to use from bytes.

  • encoding:

    The character encoding of bytes. For possible values, see Nsstringencoding.

  • freeBuffer:

    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 containing length bytes from bytes interpreted using the encoding encoding. The returned object may be different from the original receiver.

Discussion

If an error occurs during the creation of the string, then bytes isn’t 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