Comments 16
Спасибо за перевод, но на мой взгляд все абсолютно понятно только по одному коду, даже если программист совсем не знает английский язык.
Лучшим решением было бы не переводить такие простые вещи, а собирать дайджесты по Swift, на мой взгляд.
Лучшим решением было бы не переводить такие простые вещи, а собирать дайджесты по Swift, на мой взгляд.
+1
Кстати, в Swift есть динамические возможности из Objective C? Было бы интересно посмотреть, как они реализованы в новом языке с учетом опыта других языков программирования.
0
Swift работает на рантайме Objective C. Однако все не так просто: в общем случае(если не указывать атрибут objc) имена классов мангляться. Когда я проводил свои эксперименты, я даже не совсем понял, во что превращаются свойства, ибо если добавить свойство в класс, то никаких ivar'ов по итогу у него не появлялось(думаю, логично предположить, что значения свойств как и в Obejctive C хранятся в ivar'ах). Вообще немного об этом можно почитать у Mike Ash www.mikeash.com/pyblog/friday-qa-2014-07-18-exploring-swift-memory-layout.html
+1
Жду с нетерпением языка с таким вот оператором сравнения:
Ну серьезно, куда уж три то равно… понимаю еще два, но три…
a ================================================================================================== b
Ну серьезно, куда уж три то равно… понимаю еще два, но три…
-10
Вы ж в курсе что там есть возможность создавать свои операторы? И люди создают, не знаю для фану, или просто от «молодости»…
+2
Ну оператора строгого соответствия не они придумали, во многих, если не во всех, ОО программных языках он есть.
+4
Привет от не строго типизированных языков:)
0
Да ладно. Только не говорите, что Вы до сих пор не знали о том, что 'тройное равно' есть в PHP и JS.
0
Люди на javascript же пишут так и ничего, не умер никто.
0
При вызове методов обязательно ли писать имя переменной значение которой передается в функцию, например вместо point.move(x: 10, y: 20) написать point.move(10, 20)?
Можно ли менять порядок указания значений:
point.move(y: 20, x: 10);
сработает ли такая конструкция
point.move(x: Float = 0, y: Float = 0);
…
point.move(y: 66);
Спасибо.
Можно ли менять порядок указания значений:
point.move(y: 20, x: 10);
сработает ли такая конструкция
point.move(x: Float = 0, y: Float = 0);
…
point.move(y: 66);
Спасибо.
0
1. Использование
2. Менять порядок указания нельзя — первым должен указываться тот аргумент, который является первым в объявлении метода.
3. Конструкция
4. Конструкция
Offtop: точка с запятой (
point.move(10, 20)
вызовет ошибку компиляции (external names are required
), но можно написать так point.move(10, y: 20)
(но только в том случае, если первый аргумент не имеет значения по умолчанию).2. Менять порядок указания нельзя — первым должен указываться тот аргумент, который является первым в объявлении метода.
3. Конструкция
point.move(x: Float = 0, y: Float = 0)
не сработает4. Конструкция
point.move(y: 66)
сработает если аргумент x
имеет значение по умолчанию.Offtop: точка с запятой (
;
) в конце необязательна, она указывается если в одной строке есть две операции. Пример:
self.x = x; self.y = y
-1
Sign up to leave a comment.
Классы в Swift [Часть 1]