목록
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
Realm에서 to-many 관계를 정의하는 데 사용되는 컨테이너 유형입니다.
Swift의 Array
처럼 List
도 저장하는 유형에 따라 매개변수화되는 일반 유형입니다. 이 클래스는 Object
서브클래스이거나 다음 유형 중 하나일 수 있습니다: Bool
, Int
, Int8
, Int16
, Int32
, Int64
, Float
, Double
, String
, Data
, Date
, Decimal128
및 ObjectId
(및 해당 옵션 버전)
Swift의 네이티브 컬렉션과 달리 List
는 참조 유형이며 collection을 managed하는 Realm이 읽기 전용으로 열린 경우에만 변경되지 않습니다.
목록은 Results<Element>
과 동일한 조건자를 사용하여 필터링하고 정렬할 수 있습니다.
-
Element
유형의 Realm 모델 객체를 보유하는List
을 만듭니다.선언
Swift
public override init()
-
지정된 인덱스에 있는 객체를 반환하거나(get), 지정된 인덱스에 있는 객체를 대체합니다(set).
경고
쓰기 트랜잭션(write transaction) 중에만 객체를 설정할 수 있습니다.
선언
Swift
public subscript(position: Int) -> Element { get set }
매개변수
index
검색하거나 바꿀 객체의 인덱스입니다.
-
컬렉션의 각 객체에 대해 를
Array
사용하여 를 호출한 결과가 포함된valueForKey(_:)
을 반환합니다.key
선언
Swift
@nonobjc public func value(forKey key: String) -> [AnyObject]
-
컬렉션의 각 객체에 대해 를
Array
사용하여 를 호출한 결과가 포함된valueForKeyPath(_:)
을 반환합니다.keyPath
선언
Swift
@nonobjc public func value(forKeyPath keyPath: String) -> [AnyObject]
매개변수
keyPath
값을 원하는 속성의 키 경로입니다.
-
지정된 객체를 목록 끝에 추가합니다.
객체가 수신자와 다른 Realm에서 managed하는 경우 복사본이 만들어지고 수신자를 managed하는 Realm에 추가됩니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.
선언
Swift
public func append(_ object: Element)
매개변수
object
객체입니다.
-
지정된 시퀀스의 객체를 목록 끝에 추가합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Swift
public func append<S>(objectsIn objects: S) where Element == S.Element, S : Sequence
-
지정된 인덱스에 객체를 삽입합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.
경고
이 메서드는 유효하지 않은 인덱스로 호출하면 예외가 발생합니다.
선언
Swift
public func insert(_ object: Element, at index: Int)
매개변수
object
객체입니다.
index
객체를 삽입할 인덱스입니다.
-
지정된 인덱스에서 객체를 제거합니다. 객체는 해당 객체를 managed Realm에서 제거되지 않습니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.
경고
이 메서드는 유효하지 않은 인덱스로 호출하면 예외가 발생합니다.
선언
Swift
public func remove(at index: Int)
매개변수
index
객체를 제거할 인덱스입니다.
-
목록에서 모든 객체를 제거합니다. 객체는 해당 객체를 managed Realm에서 제거되지 않습니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Swift
public func removeAll()
-
지정된 인덱스에 있는 객체를 새 객체로 바꿉니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.
경고
이 메서드는 유효하지 않은 인덱스로 호출하면 예외가 발생합니다.
선언
Swift
public func replace(index: Int, object: Element)
매개변수
index
교체할 객체의 인덱스입니다.
object
객체입니다.
-
지정된 소스 인덱스에 있는 객체를 지정된 대상 인덱스로 이동합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.
경고
이 메서드는 유효하지 않은 인덱스를 사용하여 호출하면 예외가 발생합니다.
선언
Swift
public func move(from: Int, to: Int)
매개변수
from
이동할 객체의 인덱스입니다.
to
from
에 있는 객체가 이동해야 하는 인덱스입니다. -
지정된 인덱스에서 목록의 객체를 교환합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.
경고
이 메서드는 유효하지 않은 인덱스를 사용하여 호출하면 예외가 발생합니다.
선언
Swift
public func swapAt(_ index1: Int, _ index2: Int)
매개변수
index1
인덱스
index2
에 있는 객체를 대체해야 하는 객체의 인덱스입니다.index2
인덱스
index1
에 있는 객체를 대체해야 하는 객체의 인덱스입니다. -
목록에 포함된 객체에 대한 사람이 읽을 수 있는 설명을 반환합니다.
선언
Swift
public override var description: String { get }
-
collection이 변경될 때마다 Void를 방출하는 출판사입니다.
이름과 달리 실제로 collection 변경된 후에 방출합니다.
선언
Swift
public var objectWillChange: RealmPublishers.WillChange<List> { get }
-
요소의 지정된
subRange
을newElements
로 바꿉니다.선언
Swift
public func replaceSubrange<C: Collection, R>(_ subrange: R, with newElements: C) where C.Iterator.Element == Element, R: RangeExpression, List<Element>.Index == R.Bound
매개변수
subrange
대체할 요소의 범위입니다.
newElements
목록에 삽입할 새 요소입니다.
-
선언
Swift
public typealias SubSequence = Slice<List>
-
지정된 범위에 있는 객체를 반환하거나(get), 지정된 범위의 객체를 새 객체로 대체합니다(set).
경고
객체는 쓰기 트랜잭션(write transaction) 중에만 설정할 수 있습니다.
선언
Swift
public subscript(bounds: Range<Int>) -> SubSequence { get set }
매개변수
index
검색하거나 바꿀 객체의 인덱스입니다.
-
목록의 시작 부분에서 지정된 수의 객체를 제거합니다. 객체는 해당 객체를 managed Realm에서 제거되지 않습니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Swift
public func removeFirst(_ number: Int = 1)
-
목록 끝에서 지정된 수의 객체를 제거합니다. 객체는 해당 객체를 managed Realm에서 제거되지 않습니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Swift
public func removeLast(_ number: Int = 1)
-
지정된 collection의 항목을 목록의 지정된 위치에 삽입합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Swift
public func insert<C>(contentsOf newElements: C, at i: Int) where Element == C.Element, C : Collection
-
목록에서 지정된 범위에 있는 객체를 제거합니다.
경고
이 메서드는 쓰기 트랜잭션(write transaction) 중에만 호출할 수 있습니다.선언
Swift
public func removeSubrange<R>(_ boundsExpression: R) where R : RangeExpression, R.Bound == Int
-
선언
Swift
public convenience init(from decoder: Decoder) throws
-
projectTo
는 의 원래List
Objects
또는 를 에List
EmbeddedObjects
ProjectedCollection
매핑합니다.예를 들면 다음과 같습니다.
class Person: Object { @Persisted var dogs: List<Dog> } class PersonProjection: Projection<Person> { @Projected(\Person.dogs.projectTo.name) var dogNames: ProjectedCollection<String> }
이 코드에서
Person
의 개 목록은projectTo
을 통해 개 이름 목록에 추가됩니다.선언
Swift
public var projectTo: CollectionElementMapper<Element> { get }