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_ptrmust be a valid pointer or null.line_end_ptrmust be a valid pointer or null.contents_end_ptrmust 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_ptrmust be a valid pointer or null.par_end_ptrmust be a valid pointer or null.contents_end_ptrmust 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
buffermust be a valid pointer or null.used_buffer_countmust be a valid pointer or null.leftovermust 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
optsgeneric should be of the correct type.used_lossy_conversionmust 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
bytesmust be a valid pointer.leftover_rangemust 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_refSource§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.