Прошу прощения за заголовок.Я понимаю, что это распространенная проблема в Swift.Я читаю ответы в других темах и считаю, что немного ближе к решению проблемы.
У меня есть массив словарей var userObjects: [[String:AnyObject]] = []
Я использую его для заполненияCollectionView.В моей функции cellForItemAt у меня есть
guard let user = userObjects[indexPath.row]["data"] as? [String:AnyObject] else { return cell }
guard let firstName = user["first_name"] else {return cell}
Я получаю типичную ошибку Type 'Any' has no subscript members
во второй строке фрагмента выше, пока не добавлю as? [String:AnyObject]
к первой строке фрагмента.Проблема в том, что теперь код разрывается в первом операторе защиты для user
, как будто это утверждение неверно.
Что я делаю не так и как правильно приводить объекты?
Пример того, как выглядит элемент в userObjects
:
{
count = 1;
data = (
{
email = "tester2@test.com";
"first_name" = Tester;
gender = Male;
instagram = "n/a";
"last_name" = One;
preference = Female;
profileImageURL = "n/a";
}
);
page = 0;
pageCount = 1;
perPage = 20;