Lista
public final class List<Element> : RLMSwiftCollectionBase, RealmCollectionImpl where Element : RealmCollectionValue
extension List: ObservableObject, RealmSubscribable
extension List: MutableCollection
extension List: Decodable where Element: Decodable
extension List: Encodable where Element: Encodable
List
é o tipo de container no Realm usado para definir relacionamento para muitos.
Como o Array
do Swift, o List
é 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 List
s são tipos de referência e só são imutáveis se o Realm que os managed for aberto como somente leitura.
As listas podem ser filtradas e classificadas com os mesmos predicados de Results<Element>
.
-
Cria um
List
que contém objetos de modelo de Realm do tipoElement
.Declaração
Swift
public override init()
-
Retorna o objeto no índice fornecido (obter) ou substitui o objeto no índice fornecido (conjunto).
Aviso
Você só pode definir um objeto durante uma transação de escrita.
Declaração
Swift
public subscript(position: Int) -> Element { get set }
Parâmetros
index
O índice do objeto a ser recuperado ou substituído.
-
Retorna um
Array
contendo os resultados de invocarvalueForKey(_:)
utilizandokey
em cada um dos objetos da coleção.Declaração
Swift
@nonobjc public func value(forKey key: String) -> [AnyObject]
-
Retorna um
Array
contendo os resultados de invocarvalueForKeyPath(_:)
utilizandokeyPath
em cada um dos objetos da coleção.Declaração
Swift
@nonobjc public func value(forKeyPath keyPath: String) -> [AnyObject]
Parâmetros
keyPath
O caminho da chave para a propriedade cujos valores são desejados.
-
Anexa o objeto fornecido ao final da lista.
Se o objeto for managed por um Realm diferente do receptor, uma cópia será feita e adicionada ao Realm que managed o receptor.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Declaração
Swift
public func append(_ object: Element)
Parâmetros
object
Um objeto.
-
Anexa os objetos na sequência fornecida ao final da lista.
Aviso
Este método só pode ser chamado durante uma transação de escrita.Declaração
Swift
public func append<S>(objectsIn objects: S) where Element == S.Element, S : Sequence
-
Insere um objeto no índice fornecido.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Aviso
Este método lançará uma exceção se for chamado com um índice inválido.
Declaração
Swift
public func insert(_ object: Element, at index: Int)
Parâmetros
object
Um objeto.
index
O índice no qual inserir o objeto.
-
Remove um objeto no índice fornecido. O objeto não é removido do Realm que o managed.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Aviso
Este método lançará uma exceção se for chamado com um índice inválido.
Declaração
Swift
public func remove(at index: Int)
Parâmetros
index
O índice no qual remover o objeto.
-
Remove todos os objetos da lista. 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()
-
Substitui um objeto no índice fornecido por um novo objeto.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Aviso
Este método lançará uma exceção se for chamado com um índice inválido.
Declaração
Swift
public func replace(index: Int, object: Element)
Parâmetros
index
O índice do objeto a ser substituído.
object
Um objeto.
-
Move o objeto no índice de origem fornecido para o índice de destino fornecido.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Aviso
Este método lançará uma exceção se for chamado com índices inválidos.
Declaração
Swift
public func move(from: Int, to: Int)
Parâmetros
from
O índice do objeto a ser movido.
to
índice para o qual o objeto em
from
deve ser movido. -
Troca os objetos na lista em determinados índices.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Aviso
Este método lançará uma exceção se for chamado com índices inválidos.
Declaração
Swift
public func swapAt(_ index1: Int, _ index2: Int)
Parâmetros
index1
O índice do objeto que deve substituir o objeto no índice
index2
.index2
O índice do objeto que deve substituir o objeto no índice
index1
. -
Retorna uma descrição legível por humanos dos objetos contidos na lista.
Declaração
Swift
public override var description: String { get }
-
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<List> { get }
-
Substitua os
subRange
elementos fornecidos pornewElements
.Declaração
Swift
public func replaceSubrange<C: Collection, R>(_ subrange: R, with newElements: C) where C.Iterator.Element == Element, R: RangeExpression, List<Element>.Index == R.Bound
Parâmetros
subrange
O intervalo de elementos a serem substituídos.
newElements
Os novos elementos a serem inseridos na Lista.
-
Declaração
Swift
public typealias SubSequence = Slice<List>
-
Retorna os objetos na faixa fornecida (get) ou substitui os objetos na faixa fornecida por novos objetos (set).
Aviso
Objeto só podem ser definidos durante uma transação de escrita.
Declaração
Swift
public subscript(bounds: Range<Int>) -> SubSequence { get set }
Parâmetros
index
O índice do objeto a ser recuperado ou substituído.
-
Remove o número especificado de objetos do início da lista. Os objetos não são removidos do Realm que os gerencia.
Aviso
Este método só pode ser chamado durante uma transação de escrita.Declaração
Swift
public func removeFirst(_ number: Int = 1)
-
Remove o número especificado de objetos do final da lista. Os objetos não são removidos do Realm que os gerencia.
Aviso
Este método só pode ser chamado durante uma transação de escrita.Declaração
Swift
public func removeLast(_ number: Int = 1)
-
Insere os itens na collection fornecida na lista na posição fornecida.
Aviso
Este método só pode ser chamado durante uma transação de escrita.Declaração
Swift
public func insert<C>(contentsOf newElements: C, at i: Int) where Element == C.Element, C : Collection
-
Remove objetos da lista na faixa fornecida.
Aviso
Este método só pode ser chamado durante uma transação de escrita.Declaração
Swift
public func removeSubrange<R>(_ boundsExpression: R) where R : RangeExpression, R.Bound == Int
-
Declaração
Swift
public convenience init(from decoder: Decoder) throws
-
projectTo
mapeará oList
original deObjects
ouList
deEmbeddedObjects
paraProjectedCollection
.Por exemplo:
class Person: Object { @Persisted var dogs: List<Dog> } class PersonProjection: Projection<Person> { @Projected(\Person.dogs.projectTo.name) var dogNames: ProjectedCollection<String> }
Neste código, a lista de cães de
Person
será enviada para a lista de nomes de cães viaprojectTo
Declaração
Swift
public var projectTo: CollectionElementMapper<Element> { get }