2015-09-04 3 views
0

Используя это условие:Как вырваться из цикла while?

while let element = enumerator.nextObject() as? String 

как я могу добавить еще одно условие на основе уменьшающимся целого:

var c=10 
while let element = enumerator.nextObject() as? String && c>0 { 
... 
c-- 
... 
} 

Ошибка является:

Optional type 'Bool' cannot be used as a boolean; test for '!= nil' instead 

ответ

1

Вместо && использовать пункт where :

while let element = enumerator.nextObject() as? String where c>0 { 
+1

Может ли это быть сделано с помощью оператора соединения? – alecail

+0

@alecail Нет, вы не можете. Даже если '&&' будет более интуитивно понятным, где 'используется ', чтобы отделить необязательное связывание (проверить для nil и создать новую переменную) из логического условия. Вы можете использовать '&&' в условии. – Qbyte

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