Могу ли я передавать объекты через объект Companion? - PullRequest
0 голосов
/ 20 июня 2019

У меня есть вопрос об объекте-компаньоне в kotlin для Android: могу ли я вместо объектов или дополнений передавать объекты через объект-компаньон?

Я уже пробовал это, и это работает, но я неНе знаю, если это хороший метод или его следует избегать?

РЕДАКТИРОВАТЬ: Спасибо за ваши ответы, я подозревал, что это плохая практика, но я хотел быть уверен!

Ответы [ 3 ]

1 голос
/ 20 июня 2019

Следует избегать, так же, как статика Java. Не переживет процесс отдыха и внесет изменчивое состояние.

0 голосов
/ 20 июня 2019

Нет, это плохая практика - использовать объект-компаньон в качестве инструмента ссылки на объект.Пожалуйста, просто добавьте предметы в комплект.Я бы рекомендовал использовать новый компонент Jetpack Navigation, если вы используете пакет с фрагментной навигацией.С safeArgs действительно легко перемещаться и передавать объекты.

0 голосов
/ 20 июня 2019

Как уже было сказано, следует избегать прохождения объектов через объект Companion, поскольку он будет вести себя так же, как статика Java.

Лучшим вариантом будет передать ваши объекты через связки. Если вам не нравится реализовывать Parcelable самостоятельно, вы можете попробовать @ Parcelize , который доступен в kotlin или в некоторых библиотеках, таких как Parceler .

...