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

Swift

Войти
Регистрация
Восстановить пароль
 
Megas781
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 11
#1

Сильная связь Swift - Swift

16.12.2016, 15:02. Просмотров 411. Ответов 1

Дорогие форумчане, объясните, пожалуйста, в чем разница между строчками "pers!.apartment = apart" и "pers?.apartment = apart". Единственное различие, которое я нашел , что с восклицательным знаком в быстром просмотре плейграунда напротив выражения пишется тип изменяемой переменной, а с вопросительным просто две круглые скобки (внизу скриншот того, что я тут намудрил )
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import UIKit
 
class Person {
    let name: String
    init(name: String) { self.name = name }
    var apartment: Apartment?
    deinit { print("\(name) освобождается") }
}
 
class Apartment {
    let unit: String
    init(unit: String) { self.unit = unit }
    var tenant: Person?
    deinit { print("Апартаменты \(unit) освобождаются") }
}
 
var pers: Person? = Person.init(name: "Jake")
var apart : Apartment? = Apartment.init(unit: "b1/6")
 
pers!.apartment = apart //Свифт автоматически исправляет на pers?.apartment
apart!.tenant = pers // А тут меняет на apart?.tenant
 
pers = nil
apart = nil
Миниатюры
Сильная связь Swift  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2016, 15:02     Сильная связь Swift
Посмотрите здесь:

Документация SWIFT Swift
Восклицательный знак в Swift Swift
Потоки в Swift Swift
Массив Swift Swift
Swift Input/output в swift
Swift Swift, what that?
Swift Мутирование массива - Swift
Конвертер из swift в ObjC Swift
Swift Swift for Windows
Swift Swift и бд
Swift Swift и MySQL
Кнопка в Swift Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Митя800
49 / 49 / 12
Регистрация: 13.07.2015
Сообщений: 165
24.12.2016, 15:58     Сильная связь Swift #2
Вам следует разобраться с типом Optional, посмотрите здесь:
http://swiftbook.ru/doc/optional-cha...ced-unwrapping и другие разделы этой темы.
Yandex
Объявления
24.12.2016, 15:58     Сильная связь Swift
Ответ Создать тему
Опции темы

Текущее время: 00:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru