hi-dhl / KtKit

KtKit 小巧而实用,用 Kotlin 语言编写的工具库(长期更新中)
https://ktkit.hi-dhl.com
Apache License 2.0
165 stars 18 forks source link

startActivity #10

Open aowoWolf opened 3 years ago

aowoWolf commented 3 years ago

with(Intent(context, targetClass)) { params().forEach { makeParams(it) } this } 就简单两个问题:

  1. forEach装箱拆箱问题
  2. 不用with,用apply不是更好?最后返回就不用写this
aowoWolf commented 3 years ago
package androidx.core.os

public fun bundleOf(vararg pairs: kotlin.Pair<kotlin.String, kotlin.Any?>): android.os.Bundle

关于Fragment,不是有现成的bundleOf方法吗?

hi-dhl commented 3 years ago

with(Intent(context, targetClass)) { params().forEach { makeParams(it) } this } 就简单两个问题:

  1. forEach装箱拆箱问题
  2. 不用with,用apply不是更好?最后返回就不用写this

感谢你的反馈

forEach 确实存在 装箱拆箱问题,还会生成临时对象,会跟着下次的版本一起修复 确实 apply 比 with 会更好些

hi-dhl commented 3 years ago
package androidx.core.os

public fun bundleOf(vararg pairs: kotlin.Pair<kotlin.String, kotlin.Any?>): android.os.Bundle

关于Fragment,不是有现成的bundleOf方法吗?

从写法上少一点步骤,例如 bundleOf

val bunlde = bundleOf(
    KEY_USER_NAME to "ByteCode",
    KEY_USER_PASSWORD to "1024",
    KEY_PEOPLE_PARCELIZE to PeopleModel("hi-dhl")
)
LoginFragment().arguments = bunlde