问题标签 [lateinit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1781 浏览

c# - C# 不可为空的字段:Lateinit?

我想知道如何在 C# 中将后期初始化的类字段与可为空的引用类型一起使用。想象一下下面的类:

上面的代码非常简化。我真正的班级使用了更多的领域,比如doc还有一些带有一些参数的构造函数。

使用上面的代码,我在构造函数上得到一个编译器警告,doc没有初始化,这是正确的。我可以通过将类型设置为docto来解决这个问题PdfDoc?,但是我必须使用?.或使用!.它的任何地方,这很讨厌。

我也可以将doc每个方法作为参数传递,但请记住,我有一些这样的字段,这违反了我眼中的干净代码原则。

我正在寻找一种方法来告诉编译器,我将doc在使用它之前进行初始化(实际上我这样做了,调用者不可能获得空引用异常!)。我认为 Kotlinlateinit正是为此目的而使用了修饰符。

您将如何在“干净”的 C# 代码中解决这个问题?

0 投票
1 回答
211 浏览

spring - Kotlin Autowired 问题 - lateinit (obv)

我对 kotlin 比较陌生,我无法理解弹簧自动装配

运行此程序时出现上述错误:

这里发生了什么?顺便说一句,为什么需要lateinit,以及“它”何时被初始化?

0 投票
1 回答
1198 浏览

android - 在 onCreateView 中初始化的变量出现“Lateinit 属性尚未初始化”错误

我正在开发的应用程序有三个类。MainActivity(这里不重要)MyFragmentMyClass. 我lateinit里面有一个 List MyFragment- 这是lateinit因为它会被某些方法使用。(顺便说一下,我正在使用 kotlin 合成)

然后MyClass

但是每当showViews()被调用时,我都会收到“lateinit property myViewsList not initialized”错误(当片段被销毁、启动或类似的东西时它不会被调用。在我的应用程序中,调用它需要大约 10 秒 -为简单起见,我只是将其放入 aOnClickListener中——在这 10 秒内没有任何活动变化)。

我不明白为什么,因为它是在 OnCreateView中初始化myViewsList = listOf<View>(viewA,viewB,viewC)的。任何涉及myViewsListinside的调用MyFragment都很好,但不是 inside MyClass。那么,为什么会这样呢?调用或初始化它的正确方法是什么?

0 投票
3 回答
21570 浏览

flutter - 如何知道 dart(flutter) 中是否已经初始化了 late init?

我正在从 Flutter 中的 url 获取数据。我有一个名为表的后期初始化地图。我在 initState() 函数中获取数据。当我第一次启动应用程序时,我在红屏上收到 LateInizialization 错误。我想检测延迟初始化是否已初始化,如果未初始化则显示微调器。这是我的代码。

0 投票
2 回答
99 浏览

android - 我们什么时候应该为一个对象选择lateinit?将绑定设置为非可选和延迟初始化是不好的做法吗?

我被声明为片段中的绑定对象,lateinit var binding: EditInsuranceDialogBinding但一位同事说“这是一种不好的做法,绑定对象应该是可选的。”

所以在声明中将改为这样:var binding: EditInsuranceDialogBinding? = null,在中初始化onCreateContentViewnullonDestroyView

我想知道什么是最好的选择绑定类型(可选或不)?并且lateinit在编译器和内存中花费很多吗?什么时候不应该选择lateinit 什么时候应该使用它?

0 投票
1 回答
108 浏览

flutter - Flutter 中主题的后期初始化

我正在尝试在我的 Flutter 应用程序中实现深色和浅色主题。为此,我使用 ViewModel 方法在主题更改时通知整个应用程序。当用户更改主题时,我使用 shared_preferences 保存它。当应用程序再次启动时,我正在从共享首选项加载保存的主题:

主要.dart

主题视图模型

但是,当我启动应用程序时,我会在几秒钟内看到错误屏幕(可能在从共享首选项加载主题数据之前):

在此处输入图像描述

如何解决?在加载主题之前,如何显示加载微调器?

0 投票
0 回答
42 浏览

android-recyclerview - lateinit 属性 recyclerViewAdapter 尚未在 com.example.recyler_view_data_binding.MainActivity.onCreate(MainActivity.kt:22) 初始化

“主要活动”

正如您通过错误看到我的代码,lateint var is not initilizing 导致:kotlin.UninitializedPropertyAccessException:lateinit property recyclerViewAdapter has not been initialized at com.example.recyler_view_data_binding.MainActivity.onCreate(MainActivity.kt:22)

包 com.example.recyler_view_data_binding

“适配器类”包 com.example.recyler_view_data_binding

0 投票
0 回答
8 浏览

fragment - Lateinit var 属性未初始化

我用文本视图创建了一个片段,但每次运行代码时,我都会收到一条错误消息,提示“tipAmount 属性未初始化”。我似乎无法弄清楚出了什么问题。这是代码: