Лично меня в свифте уже один только восклицательный знак убивает. Как можно при описании методов использовать такой символ? Вообще, язык выглядит как движение в сторону JavaScripta, что лично я считаю неприемлемым.
Отличная идея сервиса, и количество камер поражает воображение. Еще хочу отметить очень хороший фреймрейт (визуально не увидел ни одной камеры с менее чем 25 FPS). Но вот интерфейс какой-то странный: почему по клику на камеру она добавляется в список вместо того, чтобы просто начать проигрывать видео с нее?
Я бы посоветовал использовать стандартную UIScrollView для свайпа, чтобы использовать замечательный метод делегата scrollViewWillEndDragging:withVelocity:targetContentOffset:. В таком случае, если использовать targetContentOffset для определения момента, когда свайп был достаточен для удаления, будет учитываться его скорость. Сейчас, чтобы совершить действие, нужно сделать слишком длинный жест.
Можно поподробнее? В любом случае, на iOS невозможно оставить любой свой код работающим, если приложение убито (в то время как автор пишет, что на андроиде запуск самого приложения не требуется).
Вот тоже сразу подумалось про сбор статистике о трафике в метро, но непонятно, зачем кроме uid устройства передавать модель, размер экрана и подобную не относящуюся к делу чепуху.
вообще не должна появляться в коде. В худшем случае это должно выглядеть примерно так:
[зануда mode on]
При условии, что содержащиеся в них объекты поддерживают NSCoding.
[зануда mode off]