Словарь не может быть соединен с Objective-C -> Проблемы в Swift

Я перенес некоторый код Objective-C в Swift, и я пытаюсь получить набор результатов в виде словаря, а затем упаковать каждый словарь (эквивалентный строке из БД) в массив. Но я получаю это сообщение об ошибке «Словарь не может быть соединен с Objective-C». Я прочитал это от Apple, но я все равно не продвинулся к решению. Любые идеи? Спасибо.

Это строка, в которой ошибка:

resultsArray.append(resultSet!.resultDictionary() as Dictionary<String,String>)

person Nate Uni    schedule 10.02.2015    source источник


Ответы (1)


Из замечательного robertmryan, размещенного здесь для удобства:

Это произойдет, если ваша база данных имеет нулевые значения (которые возвращают [NSNull null] объектов) или числовые значения (которые возвращают NSNumber объектов). Вы можете исправить это, определив resultsArray как:

var resultsArray = Array<Dictionary<String,AnyObject>>()

Или, я лично предпочитаю:

var resultsArray = [[String: AnyObject]]()

И затем при добавлении объектов я бы

resultsArray.append(resultSet!.resultDictionary() as Dictionary<String, AnyObject>)

or

resultsArray.append(resultSet!.resultDictionary() as [String: AnyObject])
person Nate Uni    schedule 10.02.2015