Запитання з тегом «swift-language»

Swift - це мова програмування, розроблена компанією Apple для створення додатків для iOS та OS X. Свіфт спирається на основу C та Objective-C.

5
Як Swift може бути настільки швидшим, ніж Objective-C у цих порівняннях?
Apple запустила свою нову мову програмування Swift на WWDC14 . У презентації вони здійснили порівняння продуктивності між Objective-C та Python. Далі наведено зображення одного з їх слайдів, порівняння цих трьох мов, які виконують деякий складний тип об'єкта: Був ще більш неймовірний графік порівняння продуктивності за допомогою алгоритму шифрування RC4 . …

10
Чому програма використовує закриття?
Прочитавши багато публікацій, де пояснюються питання про закриття, я все ще пропускаю ключове поняття: Чому писати про закриття? Яке конкретно завдання виконає програміст, який може бути найкращим чином виконаний при закритті? Прикладами закриттів у Swift є доступ до NSUrl та використання зворотного геокодера. Ось один із таких прикладів. На жаль, …

1
Конвенції про іменування протоколу Swift [закрито]
Виходячи з переважно c # фону, я звик використовувати термін "інтерфейс" для опису об'єкта без реалізації, який визначає поведінку. У c # умовою є додавання назв інтерфейсу з "Я", як у IEnumerable, тощо. Звичайно, концепція має різні назви різними мовами. У Свіфта те саме поняття називається "протокол". Коли я розробляю …

8
Навіщо проектувати сучасну мову без механізму обробки винятків?
Багато сучасних мов надають багато функцій обробки винятків , але мова програмування Swift Apple не забезпечує механізм обробки винятків . Як і я, керуючись винятками, у мене виникають проблеми з обгортанням того, що це означає. Свіфт має твердження і, звичайно, повертає значення; але у мене виникають труднощі уявити, як мій …

2
Чи використовують сучасні мови генератори парсера?
Я досліджував про набір компіляторів GCC на вікіпедії тут , коли це придумав: GCC почав використовувати парсери LALR, створені разом із Bison, але поступово перейшов на рукописний рекурсивно-десертний парсер; для C ++ в 2004 році, а для C і Objective-C в 2006 році. В даний час усі передні торці використовують …


3
Боротьба з циклічними залежностями в одиничних тестах
Я намагаюся практикувати TDD, використовуючи його для розробки такого простого, як Bit Vector. Я випадково використовую Swift, але це мовно-агностичне питання. Моє BitVector- це structзберігання синглів UInt64і презентує API, який дозволяє вам ставитися до нього як до колекції. Деталі не мають великого значення, але це досить просто. Високі 57 біт …

2
Чому Swift не вимагає крапки з комою? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Я зазвичай кодую або c # або Objective-C, і нещодавно взяв на себе, щоб …

3
З яких причин ви б використовували окреме розширення класу для кожного делегата в Swift?
Я працював підручником Рея Вендерліха і зауважив, що автор використовує розширення класу, щоб утримувати зворотні делегатські виклики, а не обробляти їх у самому класі, тобто: делегувати зворотні виклики всередині розширення класу: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } на відміну від …

3
Чи є хорошою практикою вбудувати пов'язаний набір властивостей у власну структуру / клас?
Написання об’єкта User у Swift, хоча моє запитання стосується будь-якої сильно набраної мови. Користувач може мати купу посилань (FacebookProfile, InstagramProfile тощо). Кілька питань навколо цього. Чи корисна практика загортати посилання у власному об’єкті? User { var firstName: рядок var lastName: рядок var email: рядок var посилання: Посилання } Структурні посилання …

1
Чому Свіфту потрібні столи свідків?
Я намагаюся прочитати деталі щодо впровадження Swift, і одне, чого я не можу визначити, - це його "таблиці свідків". Схоже, вони є окремим vtable-покажчиком, що використовується для структур. Але навіщо вам це потрібно? Структури копіюються за значенням, тож ви вже знаєте під час компіляції, який вони тип. Тож чи не …

3
Чому Swift ініціалізує спочатку власні підкласи підкласу?
Мовою Swift, щоб ініціалізувати екземпляр, потрібно заповнити всі поля цього класу і лише потім викликати суперконструктор: class Base { var name: String init(name: String) { self.name = name } } class Derived: Base { var number: Int init(name: String, number: Int) { // won't compile if interchange lines self.number = …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.