Telegram Group & Telegram Channel
@_spi - атрибут для тех, кто пишет фреймворки.

Как вы добиваетесь того, чтобы ваша библиотека содержала и общедоступный, и приватный код? Под приватным я имею ввиду ту часть кода, которая доступна «особым» пользователям библиотеки, например сервисные функции для дебага, не нужные обычному пользователю, или какие-то скрытые функции, которые нужны вам в своем проекте, но не должны быть доступны сторонним пользователям.

Обычно используют следующие варианты решения:
1) «Нет никаких приватных функций, пусть все функции будут общедоступными». Но так вы перегружаете список доступных функций, окно автодополнения и вызываете у пользователя библиотеки вопросы.
2) «Сервисные функции начинаются с _», вроде _enableDebugMode(). Итог как и в пункте 1.
3) Самый радикальный, но наиболее безопасный - выпуск нескольких версий библиотеки, одна со скрытым функционал, и одна только с общедоступным.

Но есть и другой способ - атрибут @_spi, который позволяет скрывать часть функционала вашего фреймворка и делать его доступным только при определенных условиях.

Так например вы можете пометить любые функции, методы, а возможно и свойства (не знаю, не проверял) с помощью @_spi(имя), и данный элемент станет доступным пользователю только если он импортирует библиотеку с помощью конструкции ```@_spi(имя) import ВашаБиблиотека```.

Пример смотрите в картинке ниже поста.

Количество различных имен внутри @_spi атрибута не ограничено. Вы можете делить таким образом функциональность на блоки и передавать пользователям те имена, которые им требуются.

Обратите внимание, что нижнее подчеркивание в названии означает, что атрибут все еще экспериментальный, правда эксперимент затянулся, а сам атрибут довольно активно используется сообществом.

SPI - System Programming Interface. Это тот же API, только «системный» или «сервисный».

Почитать можно тут. Так же обратите внимание на @_spiOnly и @_spi_available по той же ссылке.



tg-me.com/ios_appdev/117
Create:
Last Update:

@_spi - атрибут для тех, кто пишет фреймворки.

Как вы добиваетесь того, чтобы ваша библиотека содержала и общедоступный, и приватный код? Под приватным я имею ввиду ту часть кода, которая доступна «особым» пользователям библиотеки, например сервисные функции для дебага, не нужные обычному пользователю, или какие-то скрытые функции, которые нужны вам в своем проекте, но не должны быть доступны сторонним пользователям.

Обычно используют следующие варианты решения:
1) «Нет никаких приватных функций, пусть все функции будут общедоступными». Но так вы перегружаете список доступных функций, окно автодополнения и вызываете у пользователя библиотеки вопросы.
2) «Сервисные функции начинаются с _», вроде _enableDebugMode(). Итог как и в пункте 1.
3) Самый радикальный, но наиболее безопасный - выпуск нескольких версий библиотеки, одна со скрытым функционал, и одна только с общедоступным.

Но есть и другой способ - атрибут @_spi, который позволяет скрывать часть функционала вашего фреймворка и делать его доступным только при определенных условиях.

Так например вы можете пометить любые функции, методы, а возможно и свойства (не знаю, не проверял) с помощью @_spi(имя), и данный элемент станет доступным пользователю только если он импортирует библиотеку с помощью конструкции ```@_spi(имя) import ВашаБиблиотека```.

Пример смотрите в картинке ниже поста.

Количество различных имен внутри @_spi атрибута не ограничено. Вы можете делить таким образом функциональность на блоки и передавать пользователям те имена, которые им требуются.

Обратите внимание, что нижнее подчеркивание в названии означает, что атрибут все еще экспериментальный, правда эксперимент затянулся, а сам атрибут довольно активно используется сообществом.

SPI - System Programming Interface. Это тот же API, только «системный» или «сервисный».

Почитать можно тут. Так же обратите внимание на @_spiOnly и @_spi_available по той же ссылке.

BY Мобильный кот




Share with your friend now:
tg-me.com/ios_appdev/117

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

What is Telegram?

Telegram’s stand out feature is its encryption scheme that keeps messages and media secure in transit. The scheme is known as MTProto and is based on 256-bit AES encryption, RSA encryption, and Diffie-Hellman key exchange. The result of this complicated and technical-sounding jargon? A messaging service that claims to keep your data safe.Why do we say claims? When dealing with security, you always want to leave room for scrutiny, and a few cryptography experts have criticized the system. Overall, any level of encryption is better than none, but a level of discretion should always be observed with any online connected system, even Telegram.

How to Invest in Bitcoin?

Like a stock, you can buy and hold Bitcoin as an investment. You can even now do so in special retirement accounts called Bitcoin IRAs. No matter where you choose to hold your Bitcoin, people’s philosophies on how to invest it vary: Some buy and hold long term, some buy and aim to sell after a price rally, and others bet on its price decreasing. Bitcoin’s price over time has experienced big price swings, going as low as $5,165 and as high as $28,990 in 2020 alone. “I think in some places, people might be using Bitcoin to pay for things, but the truth is that it’s an asset that looks like it’s going to be increasing in value relatively quickly for some time,” Marquez says. “So why would you sell something that’s going to be worth so much more next year than it is today? The majority of people that hold it are long-term investors.”

telegram from sg


Telegram Мобильный кот
FROM USA