Objective C unicode символьные сравнения

VS 2015 все еще имеет эту ошибку. Это вызвано несоответствием версий.

В моей системе у меня был MySQL Connector 6.9.6.
Выполнение команды в консоли диспетчера пакетов NuGet:

Install-Package MySql.Data.Entity

устанавливает версию 6.9.8 по умолчанию. Ваш соединитель должен соответствовать актуальной версии пакета NuGet.
Вы можете скачать обновленную версию коннектора с: https://www.mysql.com/products/connector/

Здесь выберите «Драйвер Ado.net для MySQL» и скачайте соответствующую версию (в данном случае 6.9.8). Повторно откройте Visual Studio, и теперь мастер не падает. Перезагрузка не требуется.

15
задан Alan 15 June 2009 в 19:02
поделиться

2 ответа

Для символьных литералов используйте одинарные кавычки:

if (testChar == 'A') NSLog(@"It's an A");

Или представьте символ, используя номер кодовой точки:

if (testChar == 0x1e01) NSLog(@"It's an A with a ring below");

Компилятор видит двойные кавычки как строку, поэтому строит «A» как эквивалентно const char * (что дает вам сообщение об ошибке указателя).

21
ответ дан 1 December 2019 в 03:35
поделиться

Что вы на самом деле пытаетесь сделать? Прямое сравнение персонажей необычно. Обычно -compare: или -isEqual: используется для сравнения двух строк. Или NSScanner может использоваться для анализа компонентов строки.

0
ответ дан 1 December 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: