Метод Swizzling означает, что вы изменяете реализацию данной функции в время выполнения .
Часто используется, когда у вас нет доступа к коду функции или если вы не хотите изменять код библиотеки и когда наследование не применяется.
В основном то, что делает Firebase: у вас нет доступа к API / функциям push-уведомлений, за исключением делегатов, которые предоставляет Apple.Прокручивая такую функцию, вы можете добавить некоторую логику к тому, что она в данный момент делает.(Вы по-прежнему можете вызывать «предыдущую» функцию, как если бы вы использовали super
, или полностью заменить ее первоначальное назначение).
Вот как Firebase просит вас активировать PUSH-уведомления.Вам будет проще добавить его в свой код и дать Firebase большую гибкость, поскольку с одной строкой в вашем AppDelegate они могут запускать все, что захотят.
NB: Простой пример: у вас нетдоступ к функции print
, вы можете просто использовать ее.Вместо того, чтобы оборачивать функцию печати в пользовательскую функцию и заменять ее использование везде;Вы можете воспользоваться print
одной из своих пользовательских функций, чтобы расширить или заменить ее первоначальную функциональность.Поскольку он применяется во время выполнения, вам не нужно ничего менять в вашем проекте, и все вызовы print
будут «перенаправлены» на вашу новую пользовательскую функцию.