MutableSet

public final class MutableSet<Element> : RLMSwiftCollectionBase, RealmCollectionImpl where Element : RealmCollectionValue
extension MutableSet: ObservableObject, RealmSubscribable
extension MutableSet: Decodable where Element: Decodable
extension MutableSet: Encodable where Element: Encodable

MutableSet é o tipo de container no Realm usado para definir relacionamento para muitos com valores distintos como objeto.

Como o Set do Swift, o MutableSet é um tipo genérico parametrizado de acordo com o tipo que armazena. Pode ser uma subclasse Object ou um dos seguintes tipos: Bool, Int, Int8, Int16, Int32, Int64, Float, Double, String, Data, Date, Decimal128 e ObjectId (e suas versões opcionais)

Ao contrário das collection nativas do Swift, os MutableSets são tipos de referência e só são imutáveis se o Realm que os managed for aberto como somente leitura.

Os MutableSets podem ser filtrados e classificados com os mesmos predicados de Results<Element>.

Inicializadores

  • Cria um MutableSet que contém objetos de modelo de Realm do tipo Element.

    Declaração

    Swift

    public override init()

KVC

  • Retorna um Array contendo os resultados de invocar valueForKey(_:) utilizando key em cada um dos objetos da coleção.

    Declaração

    Swift

    @nonobjc
    public func value(forKey key: String) -> [AnyObject]

Recuperação de objetos

  • Aviso

    O pedido não é garantido em um MutableSet. A assinatura é a conveniência da implementação não deve ser invocada.

    Declaração

    Swift

    public subscript(position: Int) -> Element { get }

Filtragem

  • Retorna um valor booleano indicando se o conjunto contém o objeto fornecido.

    Declaração

    Swift

    public func contains(_ object: Element) -> Bool

    Parâmetros

    object

    O elemento a encontrar no MutableSet.

  • Retorna um valor booleano que indica se este conjunto é um subconjunto do conjunto fornecido.

    Declaração

    Swift

    public func isSubset(of possibleSuperset: MutableSet<Element>) -> Bool

    Parâmetros

    object

    Outro MutableSet para comparar.

  • Retorna um valor booleano que indica se este conjunto intersecciona com outro conjunto fornecido.

    Declaração

    Swift

    public func intersects(_ otherSet: MutableSet<Element>) -> Bool

    Parâmetros

    object

    Outro MutableSet para comparar.

Mutação

  • Insere um objeto no conjunto se ainda não estiver presente.

    Aviso

    Este método só pode ser chamado durante uma transação de escrita.

    Declaração

    Swift

    public func insert(_ object: Element)

    Parâmetros

    object

    Um objeto.

  • Insere a sequência fornecida de objetos no conjunto, se ainda não estiver presente.

    Aviso

    Este método só pode ser chamado durante uma transação de escrita.

    Declaração

    Swift

    public func insert<S>(objectsIn objects: S) where Element == S.Element, S : Sequence
  • Remove um objeto no conjunto, se presente. O objeto não é removido do Realm que o managed.

    Aviso

    Este método só pode ser chamado durante uma transação de escrita.

    Declaração

    Swift

    public func remove(_ object: Element)

    Parâmetros

    object

    O objeto a ser removido.

  • Remove todos os objetos do set. O objeto não é removido do Realm que managed eles.

    Aviso

    Este método só pode ser chamado durante uma transação de escrita.

    Declaração

    Swift

    public func removeAll()
  • Muta o conjunto no local com os elementos que são comuns a este conjunto e à sequência fornecida.

    Aviso

    Este método só pode ser chamado durante uma transação de escrita.

    Declaração

    Swift

    public func formIntersection(_ other: MutableSet<Element>)

    Parâmetros

    other

    Outro conjunto.

  • Muta o conjunto no local e remove os elementos do conjunto fornecido deste conjunto.

    Aviso

    Este método só pode ser chamado durante uma transação de escrita.

    Declaração

    Swift

    public func subtract(_ other: MutableSet<Element>)

    Parâmetros

    other

    Outro conjunto.

  • Insere os elementos da sequência fornecida no conjunto.

    Aviso

    Este método só pode ser chamado durante uma transação de escrita.

    Declaração

    Swift

    public func formUnion(_ other: MutableSet<Element>)

    Parâmetros

    other

    Outro conjunto.

  • Retorna uma descrição legível por humanos dos objetos contidos no MutableSet.

    Declaração

    Swift

    public override var description: String { get }

MutableSet

  • Uma editora que emite um vazio toda vez que a collection muda.

    Apesar do nome, isso na verdade é emitido após a mudança da collection.

    Declaração

    Swift

    public var objectWillChange: RealmPublishers.WillChange<MutableSet> { get }

Disponível onde Element: Decodable

Disponível em Element: ObjectBase e RealmCollectionValue

  • MutableSetElementMapper transforma o MutableSet real de Objects ou MutableSet de EmbeddedObjects em ProjectedCollection.

    Por exemplo:

     class Person: Object {
         @Persisted var dogs: MutableSet<Dog>
     }
     class PersonProjection: Projection<Person> {
         @Projected(\Person.dogs.projectTo.name) var dogNames: ProjectedCollection<String>
     }
    

    Neste código, o conjunto de cães do Person será atribuído ao conjunto projetado de nomes de cães via projectTo Observação: este não é o tipo de dados do conjunto real, portanto, os elementos projetados podem conter duplicatas.

    Declaração

    Swift

    public var projectTo: CollectionElementMapper<Element> { get }