Я понимаю, что есть масса вопросов по SO с ответами по этому поводу, но по какой-то причине я не могу заставить их работать. Все, что я хочу сделать, это проверить, есть ли в массиве хотя бы один член. По какой-то причине Apple усложнила это в Swift, в отличие от Objective- C, где вы только что протестировали if count>=1
. Код вылетает, когда массив пуст.
Вот мой код:
let quotearray = myquotations?.quotations
if (quotearray?.isEmpty == false) {
let item = quotearray[ Int(arc4random_uniform( UInt32(quotearray.count))) ] //ERROR HERE
}
Однако я получаю сообщение об ошибке:
Value of optional type '[myChatVC.Quotation]?' must be unwrapped to refer to member 'subscript' of wrapped base type '[myChatVC.Quotation]'.
Ни один из вариантов fix-it для связывания или принудительного развертывания не решает ошибку. Я также пробовал:
if array != nil && array!. count > 0 and if let thearray = quotearray
, но ни один из них не будет работать
Спасибо за любые предложения.