Хорошо, я понимаю, что ты собираешься делать.
Прежде всего, аргумент длительности - это длительность каждой итерации анимации. Во-вторых, UIView.animate (...) не повторяет анимацию, пока вы не добавите опцию .repeat к аргументу options.
Чтобы достичь чего-то более близкого к тому, что вы хотите, обновите код:
func blinkScreen()
UIView.animate(withDuration: 1, delay: 0, options: [.repeat, .curveLinear], animations: {
self.imageV.transform = CGAffineTransform(translationX: 0, y: -10)
}) { _ in
self.imageV.transform = .identity
}
}
И если вы хотите анимировать движение вверх и вниз, используйте опцию .autoreverse (и, возможно, .curveEaseInOut) :
func blinkScreen()
UIView.animate(withDuration: 1, delay: 0, options: [.repeat, .autoreverse, .curveEaseInOut], animations: {
self.imageV.transform = CGAffineTransform(translationX: 0, y: -10)
}) { _ in
self.imageV.transform = .identity
}
}
CouchDB действительно повторно создает представления об обновлении, но только о том, что изменилось начиная с последнего доступа для чтения к представлению. Принятие Вашего объема чтения значительно перевешивает Ваш объем записи, это не должно быть проблемой.
при изменении больших количеств документов сразу, это могло привести к возможности первых запросов чтения, занимающих значимое количество времени. Для облегчения этого, несколько различных возможностей были предложены. Большинство полагается на регистрацию в уведомлениях об обновлении CouchDB и инициирование чтений автоматически.
сценарий в качестве примера для того, чтобы сделать точно, который доступен на CouchDB wiki по телефону [1].
[1] http://wiki.apache.org/couchdb/RegeneratingViewsOnUpdate
Вы не можете и также, почему Вы хотели бы это?
Думают об этом как этот:
Это - одно из преимуществ CouchDB!:) Я не говорю, что это - CouchDB только функция, но просто умно сделать это на чтении.
Одна вещь, которую Вы могли сделать, читается с update=false, который является грязным чтением и не мог бы возвратить то, что Вы ожидаете. Если Вы всегда делаете это, Вы могли бы запланировать "регулярное" чтение через cronjob и обновить Ваш индекс с этим. Я просто не думаю, что это имеет смысл.
a) "Масштабирование" является таким перегруженным термином. К какому "виду" масштабирования Вы обращаетесь? (Так или иначе я не вижу, как это влияет на Вас негативно).
Обновление b) на записях: Просто запросите свое представление после записи. Обратите внимание, что добавление набора данных к индексу является большим количеством дружественного ресурса (что не характерный для CouchDB). Таким образом, Вы могли бы хотеть инициировать свое представление каждый N записи.
Запланированный c): Настройте cronjob, который запрашивает Ваше представление каждый минуты M.
d) Ожидают CouchDB для развития для предоставления Вам инфраструктуру, которая позволяет Вам настраивать это с параметром конфигурации.
e) (НАИЛУЧШИЙ ВАРИАНТ). Пачкайте руки и помогите нам полировка CouchDB! Любые вклады высоко ценятся.