0
У меня есть объект, который выглядит так в консоли. Это похоже на массив со словарем внутри. Как я могу попасть в поле адреса?Как индексировать в массив словарей
Optional((
{
address = "[email protected]";
verified = 1;
}
))
Объект приходит от этого объекта:
<METDocument key: <collection: users, ID: KTsCySacEAiz3eDnf>, fields: {
emails = (
{
address = "[email protected]";
verified = 1;
}
);
profile = {
address = {
city = Oslo;
country = nor;
lineOne = "address";
lineTwo = "";
zip = 0264;
};
birthdate = "1985-09-01 23:00:00 +0000";
card = {
last4 = 4242;
verified = 1;
};
filledOut = 1;
gender = Male;
name = {
first = "Elon";
last = "Musk";
};
phone = 911;
validated = 1;
};
}>
я получить доступ к ключу электронных писем с помощью этого метода:
let emails = users.allDocuments[0].valueForKey("emails")
Это отлично работает, почему s это не работает ?: let userProfileEmail = userDocument.valueForKey («emails»)! [0] Я получаю ошибку: Неоднозначное использование «индекса» – KML
Прежде всего, не используйте 'valueForKey', это метод кодирования ключевых значений с особым значением. Что касается вашего вопроса: поскольку компилятор не может определенно вывести тип «сообщений электронной почты», когда все выражение написано в одной строке. – vadian
Swift чрезвычайно зависим от типа/зависит/чувствителен, это правильная оценка? – KML