Я работаю с методом filter()
в Swift, но сталкиваюсь с проблемой, которую я не могу воспроизвести на игровой площадке.
Изменить: Загружен пример проекта: https://www.dropbox.com/s/5ce5uyxnpb0mndf/WeirdSwifty.zip?dl=0
У меня есть структура Card
, которая содержит CardType
перечисление:
struct Card {
var name = ""
var type : CardType
enum CardType {
case Red
case Black
}
}
И класс Player
, который поддерживает массив этих элементов Card
:
class Player {
var hand : [Card]
init() {
hand = ...
}
func redCards() -> [Card] {
return hand.filter({ (card) -> Bool in
return card.type == .Red
})
}
}
Однако Xcode выдает ошибку независимо от того, как я пытаюсь отформатировать это закрытие. Я даже позволю Xcode автозаполнять подпись/тело закрытия, думая, что у меня была синтаксическая ошибка, но она воссоздает ее так же (правильно?) Способ:
Я также пробовал редактировать то, что Xcode автоматически создает и предоставляет более простую версию, безрезультатно:
Аналогично:
Как я уже упоминал, я не могу воспроизвести это на простом игровом поле, но я не могу сузить, что фактически вызывает проблему в моем основном проекте.
Это единственная ошибка в моем проекте, и если я прокомментирую метод, содержащий вызов filter()
, он строит правильно.
Является ли эта ошибка общей красной селедой для какой-то другой актуальной проблемы?
Примечание. Использование Xcode 7.3.1 (7D1014)