Use wxCFStringRef for conversion between wxString and NSString

No real changes, just avoid converting to NSString by reusing
wxCFStringRef.
This commit is contained in:
Vadim Zeitlin
2021-09-01 02:06:37 +02:00
parent 27594dcd81
commit e6cebb27f1

View File

@@ -158,15 +158,14 @@ int
wxUILocaleImplCF::CompareStrings(const wxString& lhs, const wxString& rhs, wxUILocaleImplCF::CompareStrings(const wxString& lhs, const wxString& rhs,
int flags) const int flags) const
{ {
NSString *ns_lhs = [NSString stringWithCString:lhs.ToStdString(wxConvUTF8).c_str() const wxCFStringRef cfstr(lhs);
encoding:NSUTF8StringEncoding]; auto ns_lhs = cfstr.AsNSString();
NSString *ns_rhs = [NSString stringWithCString:rhs.ToStdString(wxConvUTF8).c_str()
encoding:NSUTF8StringEncoding];
NSInteger options = 0; NSInteger options = 0;
if ( flags & wxCompare_CaseInsensitive ) if ( flags & wxCompare_CaseInsensitive )
options |= NSCaseInsensitiveSearch; options |= NSCaseInsensitiveSearch;
NSComparisonResult ret = [ns_lhs compare:ns_rhs NSComparisonResult ret = [ns_lhs compare:wxCFStringRef(rhs).AsNSString()
options:options options:options
range:(NSRange){0, [ns_lhs length]} range:(NSRange){0, [ns_lhs length]}
locale:m_nsloc]; locale:m_nsloc];