문서 메뉴

문서 홈애플리케이션 개발Atlas Device SDK

목록 - .NET SDK

이 페이지의 내용

  • 개요
  • 목록
  • 목록 및 null 허용 여부
  • 변화 관찰하기

Realm 목록은IList 를<T> 구현합니다. , Realm 유형 의 인스턴스를 0개 이상 포함합니다. C# List 처럼 Realm 컬렉션은 동질적입니다(컬렉션의 모든 객체는 동일한 유형입니다).

Realm 객체에는 지원되는 모든 데이터 유형의 목록이 포함될 수 있습니다. IList 유형의 게터 전용 속성을 정의하여 컬렉션을 <T>만듭니다. 여기서 T 은(는) 모든 데이터 유형이 될 수 있습니다(다른 컬렉션 제외). Realm 객체 목록은 두 Realm 유형, 즉 포함하는 클래스와 목록의 유형 간의 대다 관계를 나타냅니다.

목록은 변경 가능합니다: 쓰기 트랜잭션(write transaction) 내에서 목록의 요소를 추가하고 제거할 수 있습니다.

데이터베이스에서 객체를 삭제하면 해당 객체가 존재했던 모든 목록에서 제거됩니다. 따라서 객체 목록에는 삭제된 객체가 포함되지 않습니다. 그러나 기본 유형 목록에는 null 값이 포함될 수 있습니다. 목록에 null 값을 허용하지 않으려면 목록 선언에 null이 아닌 유형을 사용하거나(예: IList<double?> IList<double> 사용), 목록 선언에 null이 아닌 유형을 사용하세요. 이전 스키마 유형 정의(클래스가 RealmObject 기본 클래스에서 파생됨)를 사용하거나 null 허용을 활성화하지 않은 경우, 목록에 string 또는 byte[].

중요

동기화가 지원되지 않음

로컬 전용 영역은 null 허용(선택 사항) 값 컬렉션을 지원하지만 Sync는 지원하지 않습니다.

자세한 내용은 필수 및 선택적 속성을 참조하세요.

INotifyCollectionChanged.CollectionChanged 이벤트를 실행하여 목록의 변경 사항을 감시하고 INotifyPropertyChanged.PropertyChanged 이벤트를 실행하여 목록의 특정 속성에 대한 변경 사항을 감시합니다.

다음 코드 예시에는 StringList라는 이름의 IList<string> 속성을 가진 클래스가 있습니다. CollectionChangedPropertyChanged 이벤트 모두에 대해 이벤트 핸들러를 설정합니다.

var list = container.StringList.AsRealmCollection();
list.CollectionChanged += (sender, e) =>
{
Console.WriteLine($"List {sender} changed: {e.Action}");
};
list.PropertyChanged += (sender, e) =>
{
Console.WriteLine($"Property changed on {sender}: {e.PropertyName}");
};
← collection - .NET SDK