Avatar ·

كيفية التحقق مما إذا كان متغير lateinit قد تمت تهيئته في Kotlin؟

مرحباً بالجميع! لقد بدأت مؤخراً في تعلم Kotlin وواجهت مشكلة عند استخدام متغيرات lateinit. لدي كلاس أعلن فيه خاصية باستخدام المعدل lateinit، لأنني لا أستطيع تهيئته في الـ constructor — القيمة تأتي من مصدر خارجي (مثل بعد تحميل البيانات أو تعيين الاعتماد عبر DI). إليك مثال مبسط: ```kotlin class UserManager { lateinit var userName: String fun loadUser() { // محاكاة تحميل البيانات userName = "Alice" } fun greetUser() { // هنا قد يحدث خطأ إذا لم يتم استدعاء loadUser() بعد println("Hello, $userName") } } ``` المشكلة هي أنه إذا قمت باستدعاء `greetUser()` قبل أن تقوم `loadUser()` بتعيين القيمة، سأحصل على `UninitializedPropertyAccessException`. أريد التحقق مما إذا كان المتغير قد تمت تهيئته لتجنب هذا الخطأ وربما تنفيذ إجراء افتراضي. هل توجد طريقة في Kotlin للتحقق من ذلك؟