リスト
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 のコンテナ タイプです。
Swift のArray
と同様に、 List
は、保存する型をパラメータ化するジェネリック型です。 これは、 Object
サブクラスまたは次のいずれかのタイプになります。 Bool
、 Int
、 Int8
、 Int16
、 Int32
、 Int64
、 Float
、 Double
、 String
、 Data
、 Date
、 Decimal128
、 ObjectId
(およびこれらの任意バージョン)
Swift のネイティブ コレクションとは異なり、 List
は参照型であり、それを管理する Realm が読み取り専用として開かれている場合にのみ不変です。
Results<Element>
と同じ述語でリストをフィルタリングおよび並べ替えることができます。
-
タイプ
Element
の Realm モデル オブジェクトを保持するList
を作成します。宣言
Swift
public override init()
-
指定されたインデックスのオブジェクトを返します(get)、または指定されたインデックスのオブジェクトを置き換えます(set)。
警告
書込みトランザクション中にのみオブジェクトを設定できます。
宣言
Swift
public subscript(position: Int) -> Element { get set }
パラメーター
index
検索または置換するオブジェクトのインデックス。
-
コレクションの各オブジェクトで
key
を使用してvalueForKey(_:)
を呼び出した結果を含むArray
を返します。宣言
Swift
@nonobjc public func value(forKey key: String) -> [AnyObject]
-
コレクションの各オブジェクトで
keyPath
を使用してvalueForKeyPath(_:)
を呼び出した結果を含むArray
を返します。宣言
Swift
@nonobjc public func value(forKeyPath keyPath: String) -> [AnyObject]
パラメーター
keyPath
値が必要なプロパティへのキー パス。
-
指定されたオブジェクトをリストの末尾に追加します。
オブジェクトがレシーバーとは異なる Realm によって管理されている場合は、コピーが作成され、レシーバーを管理する Realm に追加されます。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。
宣言
Swift
public func append(_ object: Element)
パラメーター
object
オブジェクト。
-
指定されたシーケンス内のオブジェクトをリストの末尾に追加します。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。宣言
Swift
public func append<S>(objectsIn objects: S) where Element == S.Element, S : Sequence
-
指定されたインデックスにオブジェクトを挿入します。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。
警告
このメソッドは、無効なインデックスで呼び出されると例外をスローします。
宣言
Swift
public func insert(_ object: Element, at index: Int)
パラメーター
object
オブジェクト。
index
オブジェクトを挿入するインデックス。
-
指定されたインデックスにあるオブジェクトを削除します。 オブジェクトは、それを管理する Realm から削除されません。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。
警告
このメソッドは、無効なインデックスで呼び出されると例外をスローします。
宣言
Swift
public func remove(at index: Int)
パラメーター
index
オブジェクトを削除するインデックス。
-
すべてのオブジェクトをリストから削除します。 オブジェクトは、それらを管理する Realm から削除されません。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。宣言
Swift
public func removeAll()
-
指定されたインデックス内のオブジェクトを新しいオブジェクトに置き換えます。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。
警告
このメソッドは、無効なインデックスで呼び出されると例外をスローします。
宣言
Swift
public func replace(index: Int, object: Element)
パラメーター
index
置き換えられるオブジェクトのインデックス。
object
オブジェクト。
-
指定されたソース インデックスにあるオブジェクトを指定された宛先インデックスに移動します。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。
警告
このメソッドは、無効なインデックスで呼び出された場合、例外をスローします。
宣言
Swift
public func move(from: Int, to: Int)
パラメーター
from
移動するオブジェクトのインデックス。
to
from
のオブジェクトを移動するインデックス。 -
指定されたインデックスでリスト内のオブジェクトを交換します。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。
警告
このメソッドは、無効なインデックスで呼び出された場合、例外をスローします。
宣言
Swift
public func swapAt(_ index1: Int, _ index2: Int)
パラメーター
index1
インデックス
index2
のオブジェクトを置き換えるオブジェクトのインデックス。index2
インデックス
index1
のオブジェクトを置き換えるオブジェクトのインデックス。 -
リストに含まれるオブジェクトの、人間が判読可能な説明を返します。
宣言
Swift
public override var description: String { get }
-
コレクションが変更されるたびに Vid を発行する出版社。
名前に関係なく、コレクションが変更された後にこれが実際に発行します。
宣言
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)。
警告
オブジェクトは、書込みトランザクション中にのみ設定できます。
宣言
Swift
public subscript(bounds: Range<Int>) -> SubSequence { get set }
パラメーター
index
検索または置換するオブジェクトのインデックス。
-
指定した数のオブジェクトをリストの先頭から削除します。 オブジェクトは、それらを管理する Realm から削除されません。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。宣言
Swift
public func removeFirst(_ number: Int = 1)
-
指定した数のオブジェクトをリストの末尾から削除します。 オブジェクトは、それらを管理する Realm から削除されません。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。宣言
Swift
public func removeLast(_ number: Int = 1)
-
指定されたコレクション内のアイテムをリストの指定された位置に挿入します。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。宣言
Swift
public func insert<C>(contentsOf newElements: C, at i: Int) where Element == C.Element, C : Collection
-
指定された範囲にあるオブジェクトをリストから削除します。
警告
このメソッドは、書込みトランザクション中にのみ呼び出されます。宣言
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 }