Avatar ·

O que significa a palavra-chave `open` em Swift e como ela difere de `public`?

Olá a todos! Comecei a estudar Swift recentemente e me deparei com uma confusão ao trabalhar com modificadores de acesso. Na documentação da Apple está escrito que `open` é o nível de acesso mais alto, mas não entendo completamente qual é a diferença dele para `public`. Estou escrevendo uma pequena biblioteca para trabalhar com rede. Aqui está um exemplo da minha classe: ```swift public class NetworkManager { public func fetchData() { print("Fetching data...") } } ``` Tudo funciona, mas li que para classes que podem ser herdadas de outro módulo, é necessário usar `open`. Tentei substituir `public` por `open`: ```swift open class NetworkManager { open func fetchData() { print("Fetching data...") } } ``` Não notei diferença no comportamento. Por favor, me expliquem: 1. Qual é a