كيفية التحقق مما إذا كان متغير lateinit قد تمت تهيئته في Kotlin؟
مرحبًا زملائي! لقد بدأت مؤخرًا في البرمجة بلغة Kotlin وواجهت موقفًا. لدي class أستخدم فيه `lateinit var` لخاصية. كل شيء يعمل، لكنني أريد التحقق بأمان مما إذا كانت هذه الخاصية قد تمت تهيئتها بالفعل قبل الوصول إليها. إذا حاولت الوصول إلى متغير `lateinit` غير مهيأ، أحصل على `UninitializedPropertyAccessException` مما يكسر البرنامج.
إليك مثال على الكود الخاص بي:
```kotlin
class MyApp {
lateinit var user: User
fun setup() {
// هنا قد يتم تهيئة user أو لا
if (someCondition) {
user = User("Alice")
}
}
fun printUser() {
// أريد التحقق مما إذا كان user قد تمت تهيئته لتجنب الخطأ
println(user.name) // إذا لم يتم تهيئته — سيحدث استثناء
}
}
```
حاولت كتابة `if (user != null)`، لكن المترجم يشتكي من أنه لا يمكن التحقق من متغيرات `lateinit` بهذه الطريقة. في الوثائق