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

Новый язык программирования swift и новый ios sdk - Swift

Восстановить пароль Регистрация

Показать сообщение отдельно
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
04.06.2014, 11:52     Новый язык программирования swift и новый ios sdk
Кстати насчет optional, как я понял в if нельзя использовать обычные типы данных как раньше.
Если в obj-c это было нормально:
Objective-C
1
2
3
4
5
6
int i=0;
    if( i ){
        //do something
    } else {
        //do something else
    }
То в Swift такое делать нельзя
Objective-C
1
2
3
4
var a:Int = 1
if a { //выдает ошибку
    //do something
}
Только если объявим как optional:
Objective-C
1
2
3
4
var a:Int? = 1
if a { //вот теперь все отлично
    //do something
}
И еще следовательно 0 теперь не есть false:
Objective-C
1
2
3
4
var a:Int? = 0
if a { //условие тоже проходит как true
    //do something 
    println("Work")
Оно не пройдет только если будет nil
Objective-C
1
2
3
4
5
var a:Int? = nil
if a { //вот теперь false
    //do something
    println("Work")
}
Вообще я далеко не влезал, но мне кажется что даже обычные типы как Int или Double создаются как что то наподобие экземпляра объекта видимо, так как у получившейся переменной есть методы и свойства:
Objective-C
1
2
var x:Int = 0
x.description
P.S. Apple приятно удивили однако
 
Текущее время: 03:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru