apply
対象オブジェクトのプロパティを設定・割当する
{ }でプロパティと値を設定する
clark.apply {
firstName = "Clark"
lastName = "James"
age = 18
}
// The equivalent code without apply scope function would look like the following.
clark.firstName = "Clark"
clark.lastName = "James"
clark.age = 18
// フラグメントでのバインドデータの割当
private var binding: FragmentFlavorBinding? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding?.apply {
// fragment_flavor.xmlで定義したviewModelへの紐づけ
viewModel = sharedViewModel
// fragment_flavor.xmlで定義したflavorFragmentへの紐づけ
flavorFragment = this@FlavorFragment
// 値の変更を監視する
lifecycleOwner = viewLifecycleOwner
}
}