У меня есть класс с необязательным членом:
class A {
var i: Int? = nil
}
Затем у меня есть массив объектов типа A
. Некоторые объекты в массиве имеют значение i
, некоторые — нет.
Я хочу перебирать объекты в массиве, которые имеют значение для i
, одновременно разворачивая необязательное. Я не нашел способа сделать и то, и другое одновременно (я даже не знаю, возможно ли это), что вынуждает меня писать конструкцию if let
внутри цикла.
Например:
// a1, a2 have a value for i
let arr: [A] = [a1, a2, a3]
for obj in arr where obj.i != nil {
// I want to avoid if let, or force unwrapping here
if let unwrapped = obj.i {
print(i)
}
// let unwrapped = obj.i! ...
}
Возможно ли это в Swift?
obj
, и (развернутый)obj.i
в теле цикла или толькоobj.i
? - person Martin R   schedule 06.01.2017obj
, иi
внутри цикла - person Vince   schedule 06.01.2017