Видео: Беслан. Помни / Beslan. Remember (english & español subs) 2025
Часть Swift For Dummies Cheat Sheet
По состоянию на начало 2015 года почти все рамки Cocoa и Cocoa Touch написаны в Objective-C, и Swift может легко их использовать. (Конечно, это может быть, это была одна из целей дизайна Swift). Тем не менее, некоторые аспекты рамок хорошо работают в Swift, но, возможно, не так элегантно, как вам может понравиться. В частности, они включают в себя проблемы, связанные с прохождением указателей (много используются в рамках Objective-C) в Swift и обратно.
Связанная проблема заключается в использовании nil (как в указателях nil). Swift устраняет эту проблему с использованием необязательных типов - типов, таких как Int?, которые связаны с не факультативными типами, такими как Int, но которые могут принимать значение nil. (Иногда необязательные типы называются типами с нулевым числом .) В Swift вы можете развернуть необязательный, чтобы напрямую обращаться к базовому значению, которое может быть nil. Вы разворачиваете необязательное значение типа Int? используя восклицательный знак, как в myOptional!,
Хотя разработчики из Apple уже несколько лет работают со Swift, большинство программистов имеют только полгода опыта работы с новым языком. За это короткое время многие разработчики отметили тот факт, что вам все еще нужно знать немного о Objective-C, чтобы использовать Swift. Насколько вам нужно знать, трудно сказать, так как практически все, кто использует Swift сегодня, уже имеют большой опыт работы с Objective-C. Опытные кодеры замечают фрагменты Objective-C, просматривающие код Swift.
Если вы начинаете с нуля, справедливо сказать, что вам понадобятся то, что лингвисты называют пассивным знанием Objective-C (что означает, что вы можете читать и понимать это), прежде чем вы сможете разработать активное знание Swift (что означает, что вы можете читать, понимать и писать).
