pub struct NSString { /* private fields */ }
NSString
only.Expand description
Implementations§
Source§impl NSString
NSBundleExtensionMethods.
impl NSString
NSBundleExtensionMethods.
pub fn variantFittingPresentationWidth( &self, width: NSInteger, ) -> Retained<NSString>
NSBundle
only.Source§impl NSString
impl NSString
pub fn from_point(a_point: NSPoint) -> Retained<NSString>
NSGeometry
and objc2-core-foundation
only.pub fn from_size(a_size: NSSize) -> Retained<NSString>
NSGeometry
and objc2-core-foundation
only.pub fn from_rect(a_rect: NSRect) -> Retained<NSString>
NSGeometry
and objc2-core-foundation
only.Source§impl NSString
impl NSString
Sourcepub unsafe fn from_hash_table(table: &NSHashTable) -> Retained<NSString>
Available on crate feature NSHashTable
only.
pub unsafe fn from_hash_table(table: &NSHashTable) -> Retained<NSString>
NSHashTable
only.§Safety
table
generic should be of the correct type.
Source§impl NSString
NSLinguisticAnalysis.
impl NSString
NSLinguisticAnalysis.
pub fn linguisticTagsInRange_scheme_options_orthography_tokenRanges( &self, range: NSRange, scheme: &NSLinguisticTagScheme, options: NSLinguisticTaggerOptions, orthography: Option<&NSOrthography>, token_ranges: Option<&mut Option<Retained<NSArray<NSValue>>>>, ) -> Retained<NSArray<NSLinguisticTag>>
NSLinguisticTagger
and NSArray
and NSOrthography
and NSRange
and NSValue
only.pub fn enumerateLinguisticTagsInRange_scheme_options_orthography_usingBlock( &self, range: NSRange, scheme: &NSLinguisticTagScheme, options: NSLinguisticTaggerOptions, orthography: Option<&NSOrthography>, block: &DynBlock<dyn Fn(*mut NSLinguisticTag, NSRange, NSRange, NonNull<Bool>) + '_>, )
NSLinguisticTagger
and NSOrthography
and NSRange
and block2
only.Source§impl NSString
impl NSString
Sourcepub unsafe fn from_map_table(table: &NSMapTable) -> Retained<NSString>
Available on crate feature NSMapTable
only.
pub unsafe fn from_map_table(table: &NSMapTable) -> Retained<NSString>
NSMapTable
only.§Safety
table
generic should be of the correct type.
Source§impl NSString
impl NSString
pub fn from_class(a_class: &AnyClass) -> Retained<NSString>
NSObjCRuntime
only.Source§impl NSString
impl NSString
Sourcepub unsafe fn from_protocol(proto: &AnyProtocol) -> Retained<NSString>
Available on crate feature NSObjCRuntime
only.
pub unsafe fn from_protocol(proto: &AnyProtocol) -> Retained<NSString>
NSObjCRuntime
only.§Safety
proto
possibly has further requirements.
Source§impl NSString
NSStringPathExtensions.
impl NSString
NSStringPathExtensions.
pub fn pathWithComponents(components: &NSArray<NSString>) -> Retained<NSString>
NSPathUtilities
and NSArray
only.pub fn pathComponents(&self) -> Retained<NSArray<NSString>>
NSPathUtilities
and NSArray
only.pub fn isAbsolutePath(&self) -> bool
NSPathUtilities
only.pub fn lastPathComponent(&self) -> Retained<NSString>
NSPathUtilities
only.pub fn stringByDeletingLastPathComponent(&self) -> Retained<NSString>
NSPathUtilities
only.pub fn stringByAppendingPathComponent( &self, str: &NSString, ) -> Retained<NSString>
NSPathUtilities
only.pub fn pathExtension(&self) -> Retained<NSString>
NSPathUtilities
only.pub fn stringByDeletingPathExtension(&self) -> Retained<NSString>
NSPathUtilities
only.pub fn stringByAppendingPathExtension( &self, str: &NSString, ) -> Option<Retained<NSString>>
NSPathUtilities
only.pub fn stringByAbbreviatingWithTildeInPath(&self) -> Retained<NSString>
NSPathUtilities
only.pub fn stringByExpandingTildeInPath(&self) -> Retained<NSString>
NSPathUtilities
only.pub fn stringByStandardizingPath(&self) -> Retained<NSString>
NSPathUtilities
only.pub fn stringByResolvingSymlinksInPath(&self) -> Retained<NSString>
NSPathUtilities
only.pub fn stringsByAppendingPaths( &self, paths: &NSArray<NSString>, ) -> Retained<NSArray<NSString>>
NSPathUtilities
and NSArray
only.pub fn completePathIntoString_caseSensitive_matchesIntoArray_filterTypes( &self, output_name: Option<&mut Option<Retained<NSString>>>, flag: bool, output_array: Option<&mut Option<Retained<NSArray<NSString>>>>, filter_types: Option<&NSArray<NSString>>, ) -> NSUInteger
NSPathUtilities
and NSArray
only.pub fn fileSystemRepresentation(&self) -> NonNull<c_char>
NSPathUtilities
only.Sourcepub unsafe fn getFileSystemRepresentation_maxLength(
&self,
cname: NonNull<c_char>,
max: NSUInteger,
) -> bool
Available on crate feature NSPathUtilities
only.
pub unsafe fn getFileSystemRepresentation_maxLength( &self, cname: NonNull<c_char>, max: NSUInteger, ) -> bool
NSPathUtilities
only.§Safety
cname
must be a valid pointer.
Source§impl NSString
impl NSString
pub fn from_range(range: NSRange) -> Retained<NSString>
NSRange
only.Source§impl NSString
impl NSString
pub fn length(&self) -> NSUInteger
pub fn characterAtIndex(&self, index: NSUInteger) -> unichar
pub fn init(this: Allocated<Self>) -> Retained<Self>
Source§impl NSString
NSStringExtensionMethods.
impl NSString
NSStringExtensionMethods.
pub fn substringFromIndex(&self, from: NSUInteger) -> Retained<NSString>
pub fn substringToIndex(&self, to: NSUInteger) -> Retained<NSString>
pub fn substringWithRange(&self, range: NSRange) -> Retained<NSString>
NSRange
only.Sourcepub unsafe fn getCharacters_range(
&self,
buffer: NonNull<unichar>,
range: NSRange,
)
Available on crate feature NSRange
only.
pub unsafe fn getCharacters_range( &self, buffer: NonNull<unichar>, range: NSRange, )
NSRange
only.§Safety
buffer
must be a valid pointer.
pub fn compare(&self, string: &NSString) -> NSComparisonResult
NSObjCRuntime
only.pub fn compare_options( &self, string: &NSString, mask: NSStringCompareOptions, ) -> NSComparisonResult
NSObjCRuntime
only.pub fn compare_options_range( &self, string: &NSString, mask: NSStringCompareOptions, range_of_receiver_to_compare: NSRange, ) -> NSComparisonResult
NSObjCRuntime
and NSRange
only.Sourcepub unsafe fn compare_options_range_locale(
&self,
string: &NSString,
mask: NSStringCompareOptions,
range_of_receiver_to_compare: NSRange,
locale: Option<&AnyObject>,
) -> NSComparisonResult
Available on crate features NSObjCRuntime
and NSRange
only.
pub unsafe fn compare_options_range_locale( &self, string: &NSString, mask: NSStringCompareOptions, range_of_receiver_to_compare: NSRange, locale: Option<&AnyObject>, ) -> NSComparisonResult
NSObjCRuntime
and NSRange
only.§Safety
locale
should be of the correct type.
pub fn caseInsensitiveCompare(&self, string: &NSString) -> NSComparisonResult
NSObjCRuntime
only.pub fn localizedCompare(&self, string: &NSString) -> NSComparisonResult
NSObjCRuntime
only.pub fn localizedCaseInsensitiveCompare( &self, string: &NSString, ) -> NSComparisonResult
NSObjCRuntime
only.pub fn localizedStandardCompare(&self, string: &NSString) -> NSComparisonResult
NSObjCRuntime
only.pub fn isEqualToString(&self, a_string: &NSString) -> bool
pub fn hasPrefix(&self, str: &NSString) -> bool
pub fn hasSuffix(&self, str: &NSString) -> bool
pub fn commonPrefixWithString_options( &self, str: &NSString, mask: NSStringCompareOptions, ) -> Retained<NSString>
pub fn containsString(&self, str: &NSString) -> bool
pub fn localizedCaseInsensitiveContainsString(&self, str: &NSString) -> bool
pub fn localizedStandardContainsString(&self, str: &NSString) -> bool
pub fn localizedStandardRangeOfString(&self, str: &NSString) -> NSRange
NSRange
only.pub fn rangeOfString(&self, search_string: &NSString) -> NSRange
NSRange
only.pub fn rangeOfString_options( &self, search_string: &NSString, mask: NSStringCompareOptions, ) -> NSRange
NSRange
only.pub fn rangeOfString_options_range( &self, search_string: &NSString, mask: NSStringCompareOptions, range_of_receiver_to_search: NSRange, ) -> NSRange
NSRange
only.pub fn rangeOfString_options_range_locale( &self, search_string: &NSString, mask: NSStringCompareOptions, range_of_receiver_to_search: NSRange, locale: Option<&NSLocale>, ) -> NSRange
NSLocale
and NSRange
only.pub fn rangeOfCharacterFromSet(&self, search_set: &NSCharacterSet) -> NSRange
NSCharacterSet
and NSRange
only.pub fn rangeOfCharacterFromSet_options( &self, search_set: &NSCharacterSet, mask: NSStringCompareOptions, ) -> NSRange
NSCharacterSet
and NSRange
only.pub fn rangeOfCharacterFromSet_options_range( &self, search_set: &NSCharacterSet, mask: NSStringCompareOptions, range_of_receiver_to_search: NSRange, ) -> NSRange
NSCharacterSet
and NSRange
only.pub fn rangeOfComposedCharacterSequenceAtIndex( &self, index: NSUInteger, ) -> NSRange
NSRange
only.pub fn rangeOfComposedCharacterSequencesForRange( &self, range: NSRange, ) -> NSRange
NSRange
only.pub fn stringByAppendingString(&self, a_string: &NSString) -> Retained<NSString>
pub fn doubleValue(&self) -> c_double
pub fn floatValue(&self) -> c_float
pub fn intValue(&self) -> c_int
pub fn integerValue(&self) -> NSInteger
pub fn longLongValue(&self) -> c_longlong
pub fn boolValue(&self) -> bool
pub fn uppercaseString(&self) -> Retained<NSString>
pub fn lowercaseString(&self) -> Retained<NSString>
pub fn capitalizedString(&self) -> Retained<NSString>
pub fn localizedUppercaseString(&self) -> Retained<NSString>
pub fn localizedLowercaseString(&self) -> Retained<NSString>
pub fn localizedCapitalizedString(&self) -> Retained<NSString>
pub fn uppercaseStringWithLocale( &self, locale: Option<&NSLocale>, ) -> Retained<NSString>
NSLocale
only.pub fn lowercaseStringWithLocale( &self, locale: Option<&NSLocale>, ) -> Retained<NSString>
NSLocale
only.pub fn capitalizedStringWithLocale( &self, locale: Option<&NSLocale>, ) -> Retained<NSString>
NSLocale
only.Sourcepub unsafe fn getLineStart_end_contentsEnd_forRange(
&self,
start_ptr: *mut NSUInteger,
line_end_ptr: *mut NSUInteger,
contents_end_ptr: *mut NSUInteger,
range: NSRange,
)
Available on crate feature NSRange
only.
pub unsafe fn getLineStart_end_contentsEnd_forRange( &self, start_ptr: *mut NSUInteger, line_end_ptr: *mut NSUInteger, contents_end_ptr: *mut NSUInteger, range: NSRange, )
NSRange
only.§Safety
start_ptr
must be a valid pointer or null.line_end_ptr
must be a valid pointer or null.contents_end_ptr
must be a valid pointer or null.
pub fn lineRangeForRange(&self, range: NSRange) -> NSRange
NSRange
only.Sourcepub unsafe fn getParagraphStart_end_contentsEnd_forRange(
&self,
start_ptr: *mut NSUInteger,
par_end_ptr: *mut NSUInteger,
contents_end_ptr: *mut NSUInteger,
range: NSRange,
)
Available on crate feature NSRange
only.
pub unsafe fn getParagraphStart_end_contentsEnd_forRange( &self, start_ptr: *mut NSUInteger, par_end_ptr: *mut NSUInteger, contents_end_ptr: *mut NSUInteger, range: NSRange, )
NSRange
only.§Safety
start_ptr
must be a valid pointer or null.par_end_ptr
must be a valid pointer or null.contents_end_ptr
must be a valid pointer or null.
pub fn paragraphRangeForRange(&self, range: NSRange) -> NSRange
NSRange
only.pub fn enumerateSubstringsInRange_options_usingBlock( &self, range: NSRange, opts: NSStringEnumerationOptions, block: &DynBlock<dyn Fn(*mut NSString, NSRange, NSRange, NonNull<Bool>)>, )
NSRange
and block2
only.pub fn enumerateLinesUsingBlock( &self, block: &DynBlock<dyn Fn(NonNull<NSString>, NonNull<Bool>)>, )
block2
only.pub fn UTF8String(&self) -> *const c_char
pub fn fastestEncoding(&self) -> NSStringEncoding
pub fn smallestEncoding(&self) -> NSStringEncoding
pub fn dataUsingEncoding_allowLossyConversion( &self, encoding: NSStringEncoding, lossy: bool, ) -> Option<Retained<NSData>>
NSData
only.pub fn dataUsingEncoding( &self, encoding: NSStringEncoding, ) -> Option<Retained<NSData>>
NSData
only.pub fn canBeConvertedToEncoding(&self, encoding: NSStringEncoding) -> bool
pub fn cStringUsingEncoding(&self, encoding: NSStringEncoding) -> *const c_char
Sourcepub unsafe fn getCString_maxLength_encoding(
&self,
buffer: NonNull<c_char>,
max_buffer_count: NSUInteger,
encoding: NSStringEncoding,
) -> bool
pub unsafe fn getCString_maxLength_encoding( &self, buffer: NonNull<c_char>, max_buffer_count: NSUInteger, encoding: NSStringEncoding, ) -> bool
§Safety
buffer
must be a valid pointer.
Sourcepub unsafe fn getBytes_maxLength_usedLength_encoding_options_range_remainingRange(
&self,
buffer: *mut c_void,
max_buffer_count: NSUInteger,
used_buffer_count: *mut NSUInteger,
encoding: NSStringEncoding,
options: NSStringEncodingConversionOptions,
range: NSRange,
leftover: NSRangePointer,
) -> bool
Available on crate feature NSRange
only.
pub unsafe fn getBytes_maxLength_usedLength_encoding_options_range_remainingRange( &self, buffer: *mut c_void, max_buffer_count: NSUInteger, used_buffer_count: *mut NSUInteger, encoding: NSStringEncoding, options: NSStringEncodingConversionOptions, range: NSRange, leftover: NSRangePointer, ) -> bool
NSRange
only.§Safety
buffer
must be a valid pointer or null.used_buffer_count
must be a valid pointer or null.leftover
must be a valid pointer or null.
pub fn maximumLengthOfBytesUsingEncoding( &self, enc: NSStringEncoding, ) -> NSUInteger
pub fn lengthOfBytesUsingEncoding(&self, enc: NSStringEncoding) -> NSUInteger
pub fn availableStringEncodings() -> NonNull<NSStringEncoding>
pub fn localizedNameOfStringEncoding( encoding: NSStringEncoding, ) -> Retained<NSString>
pub fn defaultCStringEncoding() -> NSStringEncoding
pub fn decomposedStringWithCanonicalMapping(&self) -> Retained<NSString>
pub fn precomposedStringWithCanonicalMapping(&self) -> Retained<NSString>
pub fn decomposedStringWithCompatibilityMapping(&self) -> Retained<NSString>
pub fn precomposedStringWithCompatibilityMapping(&self) -> Retained<NSString>
pub fn componentsSeparatedByString( &self, separator: &NSString, ) -> Retained<NSArray<NSString>>
NSArray
only.pub fn componentsSeparatedByCharactersInSet( &self, separator: &NSCharacterSet, ) -> Retained<NSArray<NSString>>
NSArray
and NSCharacterSet
only.pub fn stringByTrimmingCharactersInSet( &self, set: &NSCharacterSet, ) -> Retained<NSString>
NSCharacterSet
only.pub fn stringByPaddingToLength_withString_startingAtIndex( &self, new_length: NSUInteger, pad_string: &NSString, pad_index: NSUInteger, ) -> Retained<NSString>
pub fn stringByFoldingWithOptions_locale( &self, options: NSStringCompareOptions, locale: Option<&NSLocale>, ) -> Retained<NSString>
NSLocale
only.pub fn stringByReplacingOccurrencesOfString_withString_options_range( &self, target: &NSString, replacement: &NSString, options: NSStringCompareOptions, search_range: NSRange, ) -> Retained<NSString>
NSRange
only.pub fn stringByReplacingOccurrencesOfString_withString( &self, target: &NSString, replacement: &NSString, ) -> Retained<NSString>
pub fn stringByReplacingCharactersInRange_withString( &self, range: NSRange, replacement: &NSString, ) -> Retained<NSString>
NSRange
only.pub fn stringByApplyingTransform_reverse( &self, transform: &NSStringTransform, reverse: bool, ) -> Option<Retained<NSString>>
pub fn writeToURL_atomically_encoding_error( &self, url: &NSURL, use_auxiliary_file: bool, enc: NSStringEncoding, ) -> Result<(), Retained<NSError>>
NSError
and NSURL
only.pub fn writeToFile_atomically_encoding_error( &self, path: &NSString, use_auxiliary_file: bool, enc: NSStringEncoding, ) -> Result<(), Retained<NSError>>
NSError
only.pub fn description(&self) -> Retained<NSString>
pub fn hash(&self) -> NSUInteger
Sourcepub unsafe fn initWithCharactersNoCopy_length_freeWhenDone(
this: Allocated<Self>,
characters: NonNull<unichar>,
length: NSUInteger,
free_buffer: bool,
) -> Retained<Self>
pub unsafe fn initWithCharactersNoCopy_length_freeWhenDone( this: Allocated<Self>, characters: NonNull<unichar>, length: NSUInteger, free_buffer: bool, ) -> Retained<Self>
§Safety
characters
must be a valid pointer.
Sourcepub unsafe fn initWithCharactersNoCopy_length_deallocator(
this: Allocated<Self>,
chars: NonNull<unichar>,
len: NSUInteger,
deallocator: Option<&DynBlock<dyn Fn(NonNull<unichar>, NSUInteger)>>,
) -> Retained<Self>
Available on crate feature block2
only.
pub unsafe fn initWithCharactersNoCopy_length_deallocator( this: Allocated<Self>, chars: NonNull<unichar>, len: NSUInteger, deallocator: Option<&DynBlock<dyn Fn(NonNull<unichar>, NSUInteger)>>, ) -> Retained<Self>
block2
only.§Safety
chars
must be a valid pointer.
Sourcepub unsafe fn initWithCharacters_length(
this: Allocated<Self>,
characters: NonNull<unichar>,
length: NSUInteger,
) -> Retained<Self>
pub unsafe fn initWithCharacters_length( this: Allocated<Self>, characters: NonNull<unichar>, length: NSUInteger, ) -> Retained<Self>
§Safety
characters
must be a valid pointer.
Sourcepub unsafe fn initWithUTF8String(
this: Allocated<Self>,
null_terminated_c_string: NonNull<c_char>,
) -> Option<Retained<Self>>
pub unsafe fn initWithUTF8String( this: Allocated<Self>, null_terminated_c_string: NonNull<c_char>, ) -> Option<Retained<Self>>
§Safety
null_terminated_c_string
must be a valid pointer.
pub fn initWithString( this: Allocated<Self>, a_string: &NSString, ) -> Retained<Self>
pub fn initWithData_encoding( this: Allocated<Self>, data: &NSData, encoding: NSStringEncoding, ) -> Option<Retained<Self>>
NSData
only.Sourcepub unsafe fn initWithBytes_length_encoding(
this: Allocated<Self>,
bytes: NonNull<c_void>,
len: NSUInteger,
encoding: NSStringEncoding,
) -> Option<Retained<Self>>
pub unsafe fn initWithBytes_length_encoding( this: Allocated<Self>, bytes: NonNull<c_void>, len: NSUInteger, encoding: NSStringEncoding, ) -> Option<Retained<Self>>
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn initWithBytesNoCopy_length_encoding_freeWhenDone(
this: Allocated<Self>,
bytes: NonNull<c_void>,
len: NSUInteger,
encoding: NSStringEncoding,
free_buffer: bool,
) -> Option<Retained<Self>>
pub unsafe fn initWithBytesNoCopy_length_encoding_freeWhenDone( this: Allocated<Self>, bytes: NonNull<c_void>, len: NSUInteger, encoding: NSStringEncoding, free_buffer: bool, ) -> Option<Retained<Self>>
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn initWithBytesNoCopy_length_encoding_deallocator(
this: Allocated<Self>,
bytes: NonNull<c_void>,
len: NSUInteger,
encoding: NSStringEncoding,
deallocator: Option<&DynBlock<dyn Fn(NonNull<c_void>, NSUInteger)>>,
) -> Option<Retained<Self>>
Available on crate feature block2
only.
pub unsafe fn initWithBytesNoCopy_length_encoding_deallocator( this: Allocated<Self>, bytes: NonNull<c_void>, len: NSUInteger, encoding: NSStringEncoding, deallocator: Option<&DynBlock<dyn Fn(NonNull<c_void>, NSUInteger)>>, ) -> Option<Retained<Self>>
block2
only.§Safety
bytes
must be a valid pointer.
pub fn string() -> Retained<Self>
pub fn stringWithString(string: &NSString) -> Retained<Self>
Sourcepub unsafe fn stringWithCharacters_length(
characters: NonNull<unichar>,
length: NSUInteger,
) -> Retained<Self>
pub unsafe fn stringWithCharacters_length( characters: NonNull<unichar>, length: NSUInteger, ) -> Retained<Self>
§Safety
characters
must be a valid pointer.
Sourcepub unsafe fn stringWithUTF8String(
null_terminated_c_string: NonNull<c_char>,
) -> Option<Retained<Self>>
pub unsafe fn stringWithUTF8String( null_terminated_c_string: NonNull<c_char>, ) -> Option<Retained<Self>>
§Safety
null_terminated_c_string
must be a valid pointer.
Sourcepub unsafe fn initWithCString_encoding(
this: Allocated<Self>,
null_terminated_c_string: NonNull<c_char>,
encoding: NSStringEncoding,
) -> Option<Retained<Self>>
pub unsafe fn initWithCString_encoding( this: Allocated<Self>, null_terminated_c_string: NonNull<c_char>, encoding: NSStringEncoding, ) -> Option<Retained<Self>>
§Safety
null_terminated_c_string
must be a valid pointer.
Sourcepub unsafe fn stringWithCString_encoding(
c_string: NonNull<c_char>,
enc: NSStringEncoding,
) -> Option<Retained<Self>>
pub unsafe fn stringWithCString_encoding( c_string: NonNull<c_char>, enc: NSStringEncoding, ) -> Option<Retained<Self>>
§Safety
c_string
must be a valid pointer.
pub fn initWithContentsOfURL_encoding_error( this: Allocated<Self>, url: &NSURL, enc: NSStringEncoding, ) -> Result<Retained<Self>, Retained<NSError>>
NSError
and NSURL
only.pub fn initWithContentsOfFile_encoding_error( this: Allocated<Self>, path: &NSString, enc: NSStringEncoding, ) -> Result<Retained<Self>, Retained<NSError>>
NSError
only.pub fn stringWithContentsOfURL_encoding_error( url: &NSURL, enc: NSStringEncoding, ) -> Result<Retained<Self>, Retained<NSError>>
NSError
and NSURL
only.pub fn stringWithContentsOfFile_encoding_error( path: &NSString, enc: NSStringEncoding, ) -> Result<Retained<Self>, Retained<NSError>>
NSError
only.Sourcepub unsafe fn initWithContentsOfURL_usedEncoding_error(
this: Allocated<Self>,
url: &NSURL,
enc: *mut NSStringEncoding,
) -> Result<Retained<Self>, Retained<NSError>>
Available on crate features NSError
and NSURL
only.
pub unsafe fn initWithContentsOfURL_usedEncoding_error( this: Allocated<Self>, url: &NSURL, enc: *mut NSStringEncoding, ) -> Result<Retained<Self>, Retained<NSError>>
NSError
and NSURL
only.§Safety
enc
must be a valid pointer or null.
Sourcepub unsafe fn initWithContentsOfFile_usedEncoding_error(
this: Allocated<Self>,
path: &NSString,
enc: *mut NSStringEncoding,
) -> Result<Retained<Self>, Retained<NSError>>
Available on crate feature NSError
only.
pub unsafe fn initWithContentsOfFile_usedEncoding_error( this: Allocated<Self>, path: &NSString, enc: *mut NSStringEncoding, ) -> Result<Retained<Self>, Retained<NSError>>
NSError
only.§Safety
enc
must be a valid pointer or null.
Sourcepub unsafe fn stringWithContentsOfURL_usedEncoding_error(
url: &NSURL,
enc: *mut NSStringEncoding,
) -> Result<Retained<Self>, Retained<NSError>>
Available on crate features NSError
and NSURL
only.
pub unsafe fn stringWithContentsOfURL_usedEncoding_error( url: &NSURL, enc: *mut NSStringEncoding, ) -> Result<Retained<Self>, Retained<NSError>>
NSError
and NSURL
only.§Safety
enc
must be a valid pointer or null.
Sourcepub unsafe fn stringWithContentsOfFile_usedEncoding_error(
path: &NSString,
enc: *mut NSStringEncoding,
) -> Result<Retained<Self>, Retained<NSError>>
Available on crate feature NSError
only.
pub unsafe fn stringWithContentsOfFile_usedEncoding_error( path: &NSString, enc: *mut NSStringEncoding, ) -> Result<Retained<Self>, Retained<NSError>>
NSError
only.§Safety
enc
must be a valid pointer or null.
Source§impl NSString
NSStringEncodingDetection.
impl NSString
NSStringEncodingDetection.
Sourcepub unsafe fn stringEncodingForData_encodingOptions_convertedString_usedLossyConversion(
data: &NSData,
opts: Option<&NSDictionary<NSStringEncodingDetectionOptionsKey, AnyObject>>,
string: Option<&mut Option<Retained<NSString>>>,
used_lossy_conversion: *mut Bool,
) -> NSStringEncoding
Available on crate features NSData
and NSDictionary
only.
pub unsafe fn stringEncodingForData_encodingOptions_convertedString_usedLossyConversion( data: &NSData, opts: Option<&NSDictionary<NSStringEncodingDetectionOptionsKey, AnyObject>>, string: Option<&mut Option<Retained<NSString>>>, used_lossy_conversion: *mut Bool, ) -> NSStringEncoding
NSData
and NSDictionary
only.§Safety
opts
generic should be of the correct type.used_lossy_conversion
must be a valid pointer or null.
impl NSString
NSItemProvider.
Source§impl NSString
NSExtendedStringPropertyListParsing.
impl NSString
NSExtendedStringPropertyListParsing.
pub fn propertyList(&self) -> Retained<AnyObject>
pub fn propertyListFromStringsFileFormat( &self, ) -> Option<Retained<NSDictionary>>
NSDictionary
only.Source§impl NSString
NSStringDeprecated.
impl NSString
NSStringDeprecated.
pub fn cString(&self) -> *const c_char
pub fn lossyCString(&self) -> *const c_char
pub fn cStringLength(&self) -> NSUInteger
Sourcepub unsafe fn getCString(&self, bytes: NonNull<c_char>)
👎Deprecated: Use -getCString:maxLength:encoding: instead
pub unsafe fn getCString(&self, bytes: NonNull<c_char>)
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn getCString_maxLength(
&self,
bytes: NonNull<c_char>,
max_length: NSUInteger,
)
👎Deprecated: Use -getCString:maxLength:encoding: instead
pub unsafe fn getCString_maxLength( &self, bytes: NonNull<c_char>, max_length: NSUInteger, )
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn getCString_maxLength_range_remainingRange(
&self,
bytes: NonNull<c_char>,
max_length: NSUInteger,
a_range: NSRange,
leftover_range: NSRangePointer,
)
👎Deprecated: Use -getCString:maxLength:encoding: insteadAvailable on crate feature NSRange
only.
pub unsafe fn getCString_maxLength_range_remainingRange( &self, bytes: NonNull<c_char>, max_length: NSUInteger, a_range: NSRange, leftover_range: NSRangePointer, )
NSRange
only.§Safety
bytes
must be a valid pointer.leftover_range
must be a valid pointer or null.
pub fn writeToFile_atomically( &self, path: &NSString, use_auxiliary_file: bool, ) -> bool
pub fn writeToURL_atomically(&self, url: &NSURL, atomically: bool) -> bool
NSURL
only.pub fn initWithContentsOfFile( this: Allocated<Self>, path: &NSString, ) -> Option<Retained<Self>>
pub fn initWithContentsOfURL( this: Allocated<Self>, url: &NSURL, ) -> Option<Retained<Self>>
NSURL
only.pub fn stringWithContentsOfFile(path: &NSString) -> Option<Retained<AnyObject>>
pub fn stringWithContentsOfURL(url: &NSURL) -> Option<Retained<AnyObject>>
NSURL
only.Sourcepub unsafe fn initWithCStringNoCopy_length_freeWhenDone(
this: Allocated<Self>,
bytes: NonNull<c_char>,
length: NSUInteger,
free_buffer: bool,
) -> Option<Retained<Self>>
👎Deprecated: Use -initWithCString:encoding: instead
pub unsafe fn initWithCStringNoCopy_length_freeWhenDone( this: Allocated<Self>, bytes: NonNull<c_char>, length: NSUInteger, free_buffer: bool, ) -> Option<Retained<Self>>
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn initWithCString_length(
this: Allocated<Self>,
bytes: NonNull<c_char>,
length: NSUInteger,
) -> Option<Retained<Self>>
👎Deprecated: Use -initWithCString:encoding: instead
pub unsafe fn initWithCString_length( this: Allocated<Self>, bytes: NonNull<c_char>, length: NSUInteger, ) -> Option<Retained<Self>>
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn initWithCString(
this: Allocated<Self>,
bytes: NonNull<c_char>,
) -> Option<Retained<Self>>
👎Deprecated: Use -initWithCString:encoding: instead
pub unsafe fn initWithCString( this: Allocated<Self>, bytes: NonNull<c_char>, ) -> Option<Retained<Self>>
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn stringWithCString_length(
bytes: NonNull<c_char>,
length: NSUInteger,
) -> Option<Retained<AnyObject>>
👎Deprecated: Use +stringWithCString:encoding:
pub unsafe fn stringWithCString_length( bytes: NonNull<c_char>, length: NSUInteger, ) -> Option<Retained<AnyObject>>
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn stringWithCString(
bytes: NonNull<c_char>,
) -> Option<Retained<AnyObject>>
👎Deprecated: Use +stringWithCString:encoding: instead
pub unsafe fn stringWithCString( bytes: NonNull<c_char>, ) -> Option<Retained<AnyObject>>
§Safety
bytes
must be a valid pointer.
Sourcepub unsafe fn getCharacters(&self, buffer: NonNull<unichar>)
pub unsafe fn getCharacters(&self, buffer: NonNull<unichar>)
§Safety
buffer
must be a valid pointer.
Source§impl NSString
NSURLUtilities.
impl NSString
NSURLUtilities.
pub fn stringByAddingPercentEncodingWithAllowedCharacters( &self, allowed_characters: &NSCharacterSet, ) -> Option<Retained<NSString>>
NSURL
and NSCharacterSet
only.pub fn stringByRemovingPercentEncoding(&self) -> Option<Retained<NSString>>
NSURL
only.pub fn stringByAddingPercentEscapesUsingEncoding( &self, enc: NSStringEncoding, ) -> Option<Retained<NSString>>
NSURL
only.pub fn stringByReplacingPercentEscapesUsingEncoding( &self, enc: NSStringEncoding, ) -> Option<Retained<NSString>>
NSURL
only.Source§impl NSString
impl NSString
Sourcepub fn len_utf16(&self) -> usize
pub fn len_utf16(&self) -> usize
The number of UTF-16 code units in the string.
See also NSString::len
.
pub fn is_empty(&self) -> bool
Sourcepub unsafe fn to_str<'r, 's: 'r, 'p: 'r>(
&'s self,
pool: AutoreleasePool<'p>,
) -> &'r str
pub unsafe fn to_str<'r, 's: 'r, 'p: 'r>( &'s self, pool: AutoreleasePool<'p>, ) -> &'r str
Convert the string into a string slice.
The signature of this method can be a bit confusing, as it contains
several lifetimes; the lifetime 's
of the NSString
, the lifetime
'p
of the current autorelease pool and the lifetime 'r
of the
returned string slice.
In general, this method converts the string to a newly allocated UTF-8 string, autoreleases the buffer, and returns a slice pointer to this internal buffer, which will become invalid once the autorelease pool is popped. So the lifetime of the return value is bound to the current autorelease pool.
However, as an optimization, this method may choose to instead return
an internal reference to the NSString
when it can, and when the
string is immutable, and that is why the lifetime of the returned
string slice is also bound to the string itself.
You should prefer the to_string
method or the
Display
implementation over this method when
possible.
§Safety
The pool must be the innermost pool, see the documentation on
autoreleasepool
.
§Examples
Get the string slice of the NSString
, and compare it with another
inside an autorelease pool.
use objc2_foundation::NSString;
use objc2::rc::autoreleasepool;
let string = NSString::from_str("foo");
autoreleasepool(|pool| {
// SAFETY: The str is not used outside the autorelease pool.
assert_eq!(unsafe { string.to_str(pool) }, "foo");
});
Sourcepub fn from_str(string: &str) -> Retained<Self>
pub fn from_str(string: &str) -> Retained<Self>
Creates an immutable NSString
by copying the given string slice.
Prefer using the ns_string!
macro when possible.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init
/new
methods).
§Example
Check that an instance of NSObject
has the precise class NSObject
.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load
instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load
instead.Use Ivar::load
instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T
.
See Ivar::load_ptr
for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T
.
This is the reference-variant. Use Retained::downcast
if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString
.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString
to a NSMutableString
,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass:
for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject
.
§Panics
This works internally by calling isKindOfClass:
. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject
and
NSProxy
implement this method.
§Examples
Cast an NSString
back and forth from NSObject
.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();
Try (and fail) to cast an NSObject
to an NSString
.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());
Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();
This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}
Trait Implementations§
Source§impl AddAssign<&NSString> for &NSMutableString
impl AddAssign<&NSString> for &NSMutableString
Source§fn add_assign(&mut self, other: &NSString)
fn add_assign(&mut self, other: &NSString)
+=
operation. Read moreSource§impl AsRef<NSString> for NSConstantString
impl AsRef<NSString> for NSConstantString
Source§impl AsRef<NSString> for NSMutableString
impl AsRef<NSString> for NSMutableString
Source§impl AsRef<NSString> for NSSimpleCString
impl AsRef<NSString> for NSSimpleCString
Source§impl Borrow<NSString> for NSConstantString
impl Borrow<NSString> for NSConstantString
Source§impl Borrow<NSString> for NSMutableString
impl Borrow<NSString> for NSMutableString
Source§impl Borrow<NSString> for NSSimpleCString
impl Borrow<NSString> for NSSimpleCString
Source§impl ClassType for NSString
impl ClassType for NSString
Source§const NAME: &'static str = "NSString"
const NAME: &'static str = "NSString"
Source§type ThreadKind = <<NSString as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<NSString as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for NSString
Available on crate feature NSObject
only.
impl CopyingHelper for NSString
NSObject
only.Source§impl DefaultRetained for NSString
impl DefaultRetained for NSString
Source§impl MutableCopyingHelper for NSString
Available on crate feature NSObject
only.
impl MutableCopyingHelper for NSString
NSObject
only.Source§type Result = NSMutableString
type Result = NSMutableString
Self
if the type has no
mutable counterpart. Read moreSource§impl NSCoding for NSString
impl NSCoding for NSString
Source§unsafe fn encodeWithCoder(&self, coder: &NSCoder)
unsafe fn encodeWithCoder(&self, coder: &NSCoder)
NSObject
and NSCoder
only.Source§impl NSCopying for NSString
impl NSCopying for NSString
Source§impl NSItemProviderReading for NSString
impl NSItemProviderReading for NSString
Source§impl NSItemProviderWriting for NSString
impl NSItemProviderWriting for NSString
Source§fn writableTypeIdentifiersForItemProvider_class() -> Retained<NSArray<NSString>>
fn writableTypeIdentifiersForItemProvider_class() -> Retained<NSArray<NSString>>
NSArray
and NSItemProvider
only.Source§fn writableTypeIdentifiersForItemProvider(&self) -> Retained<NSArray<NSString>>
fn writableTypeIdentifiersForItemProvider(&self) -> Retained<NSArray<NSString>>
NSArray
and NSItemProvider
only.Source§fn itemProviderVisibilityForRepresentationWithTypeIdentifier_class(
type_identifier: &NSString,
) -> NSItemProviderRepresentationVisibility
fn itemProviderVisibilityForRepresentationWithTypeIdentifier_class( type_identifier: &NSString, ) -> NSItemProviderRepresentationVisibility
NSItemProvider
only.Source§fn itemProviderVisibilityForRepresentationWithTypeIdentifier(
&self,
type_identifier: &NSString,
) -> NSItemProviderRepresentationVisibility
fn itemProviderVisibilityForRepresentationWithTypeIdentifier( &self, type_identifier: &NSString, ) -> NSItemProviderRepresentationVisibility
NSItemProvider
only.Source§unsafe fn loadDataWithTypeIdentifier_forItemProviderCompletionHandler(
&self,
type_identifier: &NSString,
completion_handler: &DynBlock<dyn Fn(*mut NSData, *mut NSError)>,
) -> Option<Retained<NSProgress>>
unsafe fn loadDataWithTypeIdentifier_forItemProviderCompletionHandler( &self, type_identifier: &NSString, completion_handler: &DynBlock<dyn Fn(*mut NSData, *mut NSError)>, ) -> Option<Retained<NSProgress>>
NSData
and NSError
and NSProgress
and block2
and NSItemProvider
only.Source§impl NSMutableCopying for NSString
impl NSMutableCopying for NSString
Source§impl NSObjectProtocol for NSString
impl NSObjectProtocol for NSString
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass
directly, or cast your objects with AnyObject::downcast_ref
Source§fn isMemberOfClass(&self, cls: &AnyClass) -> bool
fn isMemberOfClass(&self, cls: &AnyClass) -> bool
Source§fn respondsToSelector(&self, aSelector: Sel) -> bool
fn respondsToSelector(&self, aSelector: Sel) -> bool
Source§fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
Source§fn debugDescription(&self) -> Retained<NSObject>
fn debugDescription(&self) -> Retained<NSObject>
Source§impl NSSecureCoding for NSString
impl NSSecureCoding for NSString
Source§impl Ord for NSString
Available on crate feature NSObjCRuntime
only.
impl Ord for NSString
NSObjCRuntime
only.Source§impl PartialEq<NSMutableString> for NSString
impl PartialEq<NSMutableString> for NSString
Source§impl PartialEq<NSString> for NSMutableString
impl PartialEq<NSString> for NSMutableString
Source§impl PartialOrd<NSMutableString> for NSString
Available on crate feature NSObjCRuntime
only.
impl PartialOrd<NSMutableString> for NSString
NSObjCRuntime
only.Source§impl PartialOrd<NSString> for NSMutableString
Available on crate feature NSObjCRuntime
only.
impl PartialOrd<NSString> for NSMutableString
NSObjCRuntime
only.Source§impl PartialOrd for NSString
Available on crate feature NSObjCRuntime
only.
impl PartialOrd for NSString
NSObjCRuntime
only.Source§impl RefEncode for NSString
impl RefEncode for NSString
Source§const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF
Source§impl ToOwned for NSString
Available on crate feature NSObject
only.
impl ToOwned for NSString
NSObject
only.