은 setValue()
및 postValue()
방법을 공개로 설정하는 경우에만 LiveData
과 달라 보이지만 LiveData
에서는 보호됩니다.LiveData의 별도 MutableLiveData 하위 클래스가있는 이유는 무엇입니까?
이 변경을 위해 별도의 클래스를 만들고 단순히 해당 메서드를 LiveData
에 public으로 정의하지 않은 이유는 무엇입니까?
일반적으로 잘 알려진 사례와 유용 할 수있는 시나리오는 무엇입니까? (모든 코드에 대한 액세스 권한이 있다고 가정 할 때) 상속 유형 (특정 방법의 가시성을 높이기위한 변경 사항) ?
디자인 결정입니다. 클라이언트가 내부 상태를 변경할 수 없으므로'LiveData'는 불변입니다. 따라서 스레드로부터 안전합니다. – Blackbelt