Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Swift Как удалить элемент из TableView http://www.cyberforum.ru/swift/thread1760628.html
Здравствуйте! В обычной ситуации для отображения кнопки удаления слайдом в TableView достаточно сделать следующее: class MyTableViewController: UITableViewController { ... override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool{ return true; }
Swift Имитация акселерометра в xcode Возможно ли в xcode имитировать акселерометр. Если да ,то как? http://www.cyberforum.ru/swift/thread1758252.html
Swift Ошибка в коде ,не могу разобраться Swift 2
let motionManeger = CMMotionManager() motionManager.accelerometerUpdateInterval = 0.2 // 2 motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: { //ошибка возникает в этой строке (accelerometerData: CMAccelerometerData!, error: NSError!) in // 3 let acceleration =...
Swift Swift и MySQL
Здравствуйте, пишу приложение для удаленной загрузки данных на веб-сервер. Возникла непонятная проблема. Данные приходят с сервера, но свифт не понимает интовое значение id. let maindata = values let id = maindata as? Int let name = maindata as? String let surname = maindata as? String let login = maindata as? String ...
Swift Как сделать подобное приложение? http://www.cyberforum.ru/swift/thread1750541.html
Начинаю изучать свифт и вопрос как сделать подобное приложение? Чтобы при нажатии упражнения выскакивала более подробная информация . Через collection view?
Swift Составить словарь, используя операторы управления потоками 1. Создайте словарь, который будет содержать информацию о ваших студентах и их успехах. Ключом словаря должна быть фамилия, а значением — другой словарь, содержащий дату занятия и полученную на этом занятии оценку. Тип данных словаря должен быть ]. В вашем электронном журнале должно находиться по две оценки для каждого из трех учеников. Фамилии, даты за- нятий и оценки придумайте сами. 2.... подробнее

Показать сообщение отдельно
Vorona
Peace 2 all shining faces
 Аватар для Vorona
662 / 524 / 44
Регистрация: 05.03.2010
Сообщений: 1,270
23.06.2016, 19:24     Как вывести средний бал ученика в журнале (словарь) через цикл for-in?
Цитата Сообщение от 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. сорри если много информации со старта
 
Текущее время: 14:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru