Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как вывести средний бал ученика в журнале (словарь) через цикл for-in? - Swift

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Swift Как удалить элемент из TableView http://www.cyberforum.ru/swift/thread1760628.html
Здравствуйте! В обычной ситуации для отображения кнопки удаления слайдом в TableView достаточно сделать следующее: class MyTableViewController: UITableViewController { ... override func...
Swift Имитация акселерометра в xcode Возможно ли в xcode имитировать акселерометр. Если да ,то как? http://www.cyberforum.ru/swift/thread1758252.html
Swift Ошибка в коде ,не могу разобраться Swift 2
let motionManeger = CMMotionManager() motionManager.accelerometerUpdateInterval = 0.2 // 2 ...
Swift Swift и MySQL
Здравствуйте, пишу приложение для удаленной загрузки данных на веб-сервер. Возникла непонятная проблема. Данные приходят с сервера, но свифт не понимает интовое значение id. let maindata...
Swift Как сделать подобное приложение? http://www.cyberforum.ru/swift/thread1750541.html
Начинаю изучать свифт и вопрос как сделать подобное приложение? Чтобы при нажатии упражнения выскакивала более подробная информация . Через collection view?
Swift Составить словарь, используя операторы управления потоками 1. Создайте словарь, который будет содержать информацию о ваших студентах и их успехах. Ключом словаря должна быть фамилия, а значением — другой словарь, содержащий дату занятия и полученную на этом... подробнее

Показать сообщение отдельно
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
23.06.2016, 19:24
Цитата Сообщение от Perforator Посмотреть сообщение
и да у словарей доступ к значениям вроде через ключи, а здесь - индексы
Так и есть, но это не те индексы, которые перечисляются, это индекс, по которому мы получаем элемент из кортежа пары ключ-значение.
Если мы захотим достать значение из списка по индексу, то выглядеть это будет так:
Код
let value = array[42]
А кортежи, это такой "ad-hoc" тип данных, который может хранить разные по типу элементы. И каждый кортеж имеет свой тип, потому если вы попытаетесь достать элемент по индексу, которого не существует, то получите ошибку еще в процессе компиляции. Выглядит это так
Код
let tuple = (42, "some message")
и чтобы получить сообщение из этого кортежа, можно просто сказать
Код
tuple.1
Дело тут в том, что метод map для словаря реализован таким образом, что он отдает кортеж той функции, которую мы передаем в map. Например, в C# за это отвечает отдельный тип KeyValuePair<K,V> у которого есть такие свойства, как key и value. Создатели Swift решили не заморачиваться созданием нового типа, а использовать кортеж, т.к. он идеально подходит для этого случая.

Т.е. если просто иметь словарь, то чтобы получить значение по ключу, нужно просто написать
Код
let value = dictionary["key"]
Но мы хотим пройти по всем значениям словаря и сделать что-то с каждым из них, так вот каждое из значений словаря представлено в виде пары ключ-значение, и реализовано при помощи кортежа.

P.S. сорри если много информации со старта
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru