2015-09-11 5 views
1

У меня есть код, который выглядит следующим образом:Компилятор не понимая Nil коалесцирующем Оператор на NSTimeInterval

let duration = funcThatReturnsAnOptionalNSTimeInterval() 

let time = duration ?? otherFuncThatReturnsNSTimeInterval() 

Это дает мне ошибку:

Binary operator '??' cannot be applied to operands of type 'NSTimeInterval?' and 'NSTimeInterval'

Ummmm ..... ISN» t, что точно, к которому применим оператор ???

Я что-то упустил?

ответ

1

Ваша проблема, вероятно, в другом месте. Это нормально:

func optional() -> NSTimeInterval? { 
    return nil 
} 
func nonOptional() -> NSTimeInterval { 
    return 145 
} 


let duration = optional() 
let time = duration ?? nonOptional() 
print(time) 

Возможно, добавьте еще код?

+0

Вы совершенно правы. OtherFuncThatReturnsNSTimeInterval() фактически принимает один параметр, и я передавал ему неправильный тип. Хороший компилятор быстрой работы! – LunaCodeGirl

Смежные вопросы