Как присвоить значение [любому]
Когда я установил c
в a
var a: [Any]
var c: Array<PostCategory>
показанная ошибка:
невозможно преобразовать значение типа 'Array' в ожидаемый тип аргумента [Any]
Как решить проблему?
2 ответа
Сообщение об ошибке немного вводит в заблуждение, но попробуйте инициализировать массив перед его назначением:
var c: Array<PostCategory> = []
...или же...
var c = Array<PostCategory>()
Готов поспорить PostCategory
это struct
, Очевидно, структурные массивы не могут быть преобразованы в массив Any. Это странно, потому что все типы соответствуют любому протоколу.
Если вы измените PostCategory
к class
вместо этого он должен работать нормально. Возможно, вам потребуется создать новый инициализатор для класса, так как классы не предоставляют вам тот же инициализатор по умолчанию, что и структура.