ios - мимолетная каша в облаке - PullRequest
0 голосов
/ 19 февраля 2019

Я работаю с приложением, использующим Firebase Cloud Messaging для push-уведомлений.Прочитав его документацию, я немного запутался по поводу «Swizzling disabled», я попытался найти несколько учебных пособий, в которых об этом говорится, но, к сожалению, никаких учебных пособий нет.Не могли бы вы помочь мне описать, что именно означает "мерцающий"?и в каком случае нам нужно это использовать?

Большое вам спасибо.Райан

1 Ответ

0 голосов
/ 19 февраля 2019

Метод Swizzling означает, что вы изменяете реализацию данной функции в время выполнения .

Часто используется, когда у вас нет доступа к коду функции или если вы не хотите изменять код библиотеки и когда наследование не применяется.

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

Вот как Firebase просит вас активировать PUSH-уведомления.Вам будет проще добавить его в свой код и дать Firebase большую гибкость, поскольку с одной строкой в ​​вашем AppDelegate они могут запускать все, что захотят.

NB: Простой пример: у вас нетдоступ к функции print, вы можете просто использовать ее.Вместо того, чтобы оборачивать функцию печати в пользовательскую функцию и заменять ее использование везде;Вы можете воспользоваться print одной из своих пользовательских функций, чтобы расширить или заменить ее первоначальную функциональность.Поскольку он применяется во время выполнения, вам не нужно ничего менять в вашем проекте, и все вызовы print будут «перенаправлены» на вашу новую пользовательскую функцию.

...