Avatar ·

كيفية تحويل NSRange إلى Range<String.Index> في Swift للعمل مع NSString؟

```html مرحباً всем! لقد بدأت للتو في تعلم Swift وواجهت مشكلة أثناء العمل مع النص. لدي NSString، وأحصل على نطاق (NSRange) بعد البحث عن سلسلة فرعية باستخدام طريقة range(of:). لكن عندما أحاول استخدام هذا النطاق لاستخراج سلسلة فرعية من Swift String، يظهر المحول البرمجي خطأ. إليك الكود الخاص بي: ```swift let nsString: NSString = "Привет, мир! Hello, world!" let searchRange = nsString.range(of: "мир") // searchRange له نوع NSRange let swiftString: String = nsString as String // أحاول الحصول على السلسلة الفرعية let substring = swiftString[searchRange] // خطأ! ``` يقول الخطأ إنه لا يمكن استخدام `NSRange` كمؤشر لـ `String`. لقد قرأت أنه في Swift يتم فهرسة السلاسل النصية عبر `String.Index`، وليس عبر الأعداد الصحيحة أو `NSRange`. كيف يمكنني تحويل `NSRange` بشكل صحيح إلى `Range` للعمل مع Swift String؟ هل أحتاج إلى مراعاة الأحرف متعددة البايت (مثل الرموز التعبيرية أو السيريلية)؟ سأكون ممتناً لأمثلة الكود! ```