kotlin коллбек, function literal with receiver
В функцию SharedPreferences.edit передается коллбек action. Коллбек задан как ()->Unit, то есть на вход этот коллбек ничего не принимает. Почему тогда в теле функции SharedPreferences.edit в коллбек action передается объект editor?
fun SharedPreferences.edit(
action: SharedPreferences.Editor.()->Unit
){
val editor = edit()
action(editor) //Что делает эта строка?
editor.commit()
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Коллбек задан как ()->Unit
Коллбек задан как метод-расширение класса SharedPreferences.Editor. Он может быть вызван как статический метод с экземпляром SharedPreferences.Editor, передаваемым туда первым параметром.