Questions tagged [swift]

Swift — современный язык программирования компании Apple. Он совместим с Objective-C, но привносит много идей и заимствований из других современных языков: дженерики, функциональный стиль программирования, выведение типов. Программы на нём рассчитаны на платформы OS X и iOS.

Swift — современный высокоуровневый мультипарадигменный строго типизированный объектно-ориентированный язык для iOS и OS X, представленный сообществу разработчиков компанией Apple на конференции WWDC 2014. Swift создан как современный язык, привносящий в традиционную для платформ Apple разработку на Objective-C такие современные языковые особенности, как

  • безопасность памяти (отсутствие undefined behavior)
  • дженерики
  • элементы функционального программирования
    • автоматический вывод типов переменных
    • функции как объекты первого класса
    • более удобные синтаксически по сравнению с Objective-C замыкания и лямбды
    • алгебраические типы данных и pattern matching в switch
  • ссылочные типы и типы-значения
  • возможность определять ссылочные типы, не принимающие значение null.

Библиотека времени выполнения не содержит сборщик мусора, управление памятью происходит посредством ARC. Также в среде исполнения не поддерживаются исключения.

Несмотря на все нововведения, язык совместим с Objective-C, и код, написанный на обоих языках, может легко взаимодействовать друг с другом. Так же язык поддерживает системные фреймворки наподобие Cocoa.

Apple позиционирует язык как кандидата на основное место в инструментарии разработчика под её платформы.

Программы на Swift могут выполняться начиная с версий систем iOS 7 и OS X 10.9, необходимая версия среды разработки XCode — по крайней мере 6.0.

2596 questions
4
votes
1 answer

Объяснение по fatal error: unexpectedly found nil while unwrapping an Optional value

На сегодняшний день у нас есть 6 практически одинаковых вопросов по сабжу. Давайте один раз напишем полный ответ по этому вопросу и будем в будущем на него ссылаться. Пока публикую под своим именем, если будут добавления/редактирования переставим на…
3
votes
1 answer

Работа escaping и nonescaping в swift

Правильно ли я понимаю, что эти параметры отличаются следующем: объявленное замыкание с параметром escaping будет существовать после выхода из функции в которой оно объявлено (например при передаче замыкания в качестве параметра функции)?
3
votes
2 answers

В чем преимущество неявно извлеченных опционалов передобычными переменными в Swift

В учебнике по swift 2.1 натолкнулся на такой абзац Следующий пример показывает разницу в поведении между опциональной строкой и неявно извлеченной опциональной строкой при доступе к их внутреннему значению как к явной строке: let possibleString:…
2
votes
1 answer

Всплывающая подсказка swift

как можно сделать что-то вроде всплывающей подсказки при переходе на новую сцену, чтобы автоматически один раз появилась и все? пытаюсь сделать через алерт, но может проще есть способ?
Leci
  • 133
2
votes
2 answers

Swift: Как осуществить переходы между двумя storyboard

К примеру, у меня есть два storyboard (Main.storyboard и Corect.storyboard). У каждого есть свой ViewController (ViewController.swift и CorectViewController.swift). Приложение стартует с Main.storyboard и в нём есть кнопка для перехода на…
2
votes
1 answer

Swift 2.0 как применить autureleasepool

Имеется конструкция с перезапуском по таймеру, каждый перезапуск для iPhone 6 + добавляет потребление памяти около 12 Мб (что справедливо, но вредно) и эти объекты где-то там и болтаются, не взирая на эту самую ARC... пока не устаканятся где-то …
2
votes
1 answer

Изображения вокруг круглой кнопки

У меня есть круглая кнопка, я хочу вокруг нее выстроить картинки, когда размер просто подгоняю, у меня при смене девайса звездочки оказываются не в том месте, может можно как-то привязать их к объекту? Вот как сейчас код написан: import SpriteKit…
PRKan
  • 57
2
votes
3 answers

Как в Swift получить данные из URLSession?

Например, имеется такой Swift код: let task = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {data, response, error -> Void in var dann = NSString(data: data, encoding: NSUTF8StringEncoding)! self.str =…
2
votes
1 answer

Collection View Context Menu

Подскажите пожалуйста можно ли в контекстное меню добавить переключатель или другой подобный элемент, если да то как? В документации нашел три класса UIMenu, UIAction и UICommand но как запихать в них элемент типа UISwitch не пойму. Спасибо!
1
vote
4 answers

Вычислить сумму разных чисел в массиве

Решаю похожие задачи для отбора на стажировку в Яндекс, вроде решил задачу, но выдает WA (Wrong Answer) Условия: 1. Сумма различных Ограничение времени 2 секунды Ограничение памяти 256Mb Ввод стандартный ввод или input.txt Вывод стандартный…
1
vote
1 answer

Как синхронно вызвать функцию с POST запросом?

AppDelegate: func userAuthorized() -> Bool { let username : String = UserDefaults.standard.string(forKey: "username") ?? "" let password : String = UserDefaults.standard.string(forKey: "password") ?? "" var tempToken:String = "" …
1
vote
0 answers

Не могу сохранить данные в Core Data

Не могу сохранить данные в Core Data - подскажите пожалуйста, что не так - я создал переменную в классе - но я так понял ей не присваиваются свойства объектов, которые нужно сохранить. import UIKit import CoreData let appDelegate =…
1
vote
1 answer

Вывод подобия прогрессБара в консоль

В приведенном примере строка появляется не посимвольно с интервалом в секунду, а вся сразу через 5 секунд for _ in 1...5 { sleep(1) // задержка между появлениями точек print(".", terminator: "") } print("end"); Как сделать, чтобы текстовый…
xhr
  • 1,159
  • 9
  • 23
  • 44
1
vote
2 answers

Как в Swift сохранить большое число, значение которого больше максимума типа Double?

Нужно сохранить большое целое число (больше максимального значения Double) без потери точности в программе, а потом вывести его в консоль. Например: x = 135301852344706746049.0 print(String(format:"%f", x)) // 135301852344706744320.000000
xhr
  • 1,159
  • 9
  • 23
  • 44
1
vote
1 answer

Использование функций других контроллеров

У меня есть VC1, в нем функция которая использует функцию из VC2 class VC1: UIViewController { controllerVC2: VC2? func func1() { controllerVC2 = VC2() controllerVC2.controllerVC1 = self controller.printOk() } } …
1
2 3
19 20