Ваша функция не обрабатывает случай, когда b - пустой массив.
Вам нужно определить, что вы хотите, чтобы возвращаемое значение было для такого случая, потому что ваш цикл будет пропущен, когда b - пустой массив.
Во-вторых, ваша логика также неполна, потому что, если условие хорошо для i == 0, вы немедленно возвращаете true, не проверяя остальные элементы.
В-третьих, вы, вероятно, хотите убедиться, что a и b имеют одинаковую длину.
Итак, вот как должна выглядеть ваша функция:
func trueSquare(a:[Int], b:[Int]) -> Bool {
if a.count != b.count {
return false
}
for i in 0..<b.count {
if b[i] != a[i]*a[i] {
return false
}
}
return true
}