كيفية الحصول على اسم الكلاس كسلسلة نصية في Swift؟
مرحبًا بالجميع! لقد بدأت للتو في تعلم Swift وواجهت مشكلة. أحتاج إلى الحصول على اسم الكلاس الخاص بكائن ما كسلسلة نصية لاستخدامه، على سبيل المثال، في التسجيل (logging) أو التصحيح (debugging). في Objective-C، كنت أستخدم ببساطة `NSStringFromClass([myObject class])`، لكن هذا لا يعمل بنفس الطريقة في Swift.
لقد جربت طرقًا مختلفة، لكن لم يعطِ أي منها النتيجة المطلوبة. على سبيل المثال:
```swift
class MyClass {
var name: String = "Test"
}
let obj = MyClass()
print(obj.class) // خطأ: Value of type 'MyClass' has no member 'class'
```
كما جربت `type(of: obj)`، لكن هذا يُرجع النوع (type) وليس سلسلة نصية. أنا بحاجة تحديدًا إلى تمثيل نصي، مثل "MyClass". كيف يمكنني فعل ذلك؟ هل هناك طريقة مدمجة أم يجب كتابة تطبيقي الخاص؟ شكرًا مقدمًا على المساعدة!
<<>>
استخدام String(describing:) و Mirror
في Swift، لا يوجد مقابل مباشر لـ NSStringFromClass من Objective-C، لكن هناك عدة طرق بسيطة للحصول على اسم الكلاس كسلسلة نصية.