Я использую Swift 3.0. У меня есть следующий код:Математический расчет для ImplicitlyUnwrappedOptional Значения
var double1 : Double! = 1.0
var double2 : Double! = 2.0
var double3 : Double! = 3.0
Когда я попытался сделать расчет, как это:
let result = double1-double2-double3
Компилятор дал мне ошибку:
бинарный оператор «-» не может быть применяется к операндам типа «Двойной» и «Двойной!»
Я узнал, что double1-double2 приведет к двойному значению, поэтому не может выполнить математику с помощью Double!
Затем я попробовал:
let result = double1! - double2! - double3!
Компилятор дал мне эту ошибку:
неоднозначную ссылку на член «-»
Итак, что правильная грамматика для этого?
Я считаю, что это на самом деле ошибка, но я не могу найти дубликат прямо сейчас. – Sulthan
Какова практическая польза для использования опций в этом случае? Вы не должны использовать неявные развернутые необязательные значения вообще в линиях объявлений, где назначается значение по умолчанию. Тем не менее, с точки зрения арифметики, в любом случае «нильское» состояние отсутствует. – vadian
[Сообщение об ошибке (SR-1122)] (https://bugs.swift.org/browse/SR-1122) (разрешено, больше не должно быть проблемой в Swift 3.1). – dfri