Как стать автором
Обновить
11
0

Пользователь

Отправить сообщение

Мы себе завезли https://openapi-generator.tech/, для продакшена это уже ок. Но нужно учитывать, что размер приложения значительно вырастет. Приходится теперь уменьшать размер приложения другими способами.

Скрининг — это несколько простых, закрытых вопросов, на которые есть заготовленные ответы. Рекрутеры сами задают эти вопросы кандидату, на что у них уходит около 10-15 минут.

Как рекрутеры обрабатывают расширенные ответы, если они правильные, но не умещаются в их заготовленные ответы? Это похоже на общение с ботом, когда ему отвечаешь, а он максимум, что может, так это перевести на оператора)
насколько понимаю, будет подвешивать в памяти в любом случае, так как анимация происходит на главном потоке и вызов completion гарантируется?
если висит в памяти от начала и до конца как при UIView.animate, то зачем указывать
[self] in вначале тела замыкания
?
как это помогает? достаточно давно можно писать без скобок
guard let self = self else { return }
Как решаете проблему поиска topController, если в момент поиска может идти анимация показа другого экрана?
В тестовом AppDelegate не будет много логики, он будет подключен только к тестовому таргету и из основного проекта его не видно.
можно ли через charles снифать сокет? В андроиде точно можно, а вот с iOS так и не вышло
Возможно строчку
self.mapView.delegate = self;

лучше убрать из класса контроллера, потому что это конфьюзит в свете того, что делегат у mapView перебивается в классе прокси.
func start() {
        setActiveMode(true)
        locationManager.startUpdatingLocation()
        locationManager.startMonitoringSignificantLocationChanges()
        
        motionManager.startActivityUpdates(to: .main, withHandler: { [weak self] activity in
            self?.setActiveMode(activity?.cycling ?? false)
        })
    }

В функции setActiveMode(true) выставляется allowDeferredLocationUpdates и только потом стартует получение локации locationManager.startUpdatingLocation()
По поводу
func allowDeferredLocationUpdates(untilTraveled distance: CLLocationDistance, timeout: TimeInterval)

В документации в описании к нему указано:
Start the delivery of location updates before calling this method. The most common place to call this method is in your delegate’s locationManager(_:didUpdateLocations:) method.

В Вашем примере метод вызывается до старта получения локации и не в колбеке
 locationManager(_:didUpdateLocations:)
Также отсутствует
locationManager(_:didFinishDeferredUpdatesWithError:)
. Это сделано умышленно?
А как же поддержка языков, где направление письма справа налево?
Удаленно можно пройти? В анкете в пункте «Сможешь приезжать к нам в офис?» есть только пункт да.
И если есть категория на Swift для типа, у которого убрали префикс NS, то ее уже нельзя использовать в ObjC классе.
UIColor.redColor () становится UIColor.red ()

UIColor.redColor () становится UIColor.red

Конструкции типа
if array?.count > 0
надо переделывать в
if array != nil && array!.count > 0
или использовать добавленную xcode перегрузку оператора сравнения
func > <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
  switch (lhs, rhs) {
  case let (l?, r?):
    return l > r
  default:
    return rhs < lhs
  }
}
Можно вместо ResponseError использовать NSError, так как поля code и message уже есть у NSError.
Cmd+Alt+C посмотреть различия с поледним коммитом по всем измененным файлам.
Чем это плохо — если записывается большой объем данных, то если в это время выполнить запрос на чтение, то он выполнится только по окончании записи, а это может быть достаточно долгая задержка.
Как решить? Что смог нагуглить(ответ Hamiseixas), но у меня это решение не сработало. Поэтому использовал Core Data.
FMDB по умолчанию не поддерживает WAL(Write-Ahead Logging). То есть при длительной записи чтение будет блокироваться до окончания записи. Нужно специально проставлять флаги для нее.
Вот и пришли к консенсусу.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность