كيفية تحويل 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؟ هل أحتاج إلى مراعاة الأحرف متعددة البايت (مثل الرموز التعبيرية أو السيريلية)؟ سأكون ممتناً لأمثلة الكود!
```