Avatar ·

كيفية استخدام String.substringWithRange في Swift؟ أو كيف تعمل Range في Swift؟

مرحباً بالجميع! أنا مبتدئ في Swift، وانتقلت من Objective-C، وأواجه مشكلة في العمل مع السلاسل النصية. في Objective-C، كنت أستخرج السلاسل الفرعية بسهولة باستخدام `substringWithRange:`، على سبيل المثال: ```objc NSString *str = @"Привет, мир!"; NSRange range = NSMakeRange(0, 6); NSString *substr = [str substringWithRange:range]; // "Привет" ``` في Swift، أحاول فعل الشيء نفسه، لكني أواجه أخطاء. كتبت: ```swift let str = "Привет, мир!" let range = NSMakeRange(0, 6) let substr = str.substringWithRange(range) // خطأ! ``` يقول Xcode أن `String` لا يحتوي على طريقة `substringWithRange`. قرأت أنه في Swift يجب استخدام `Range`، لكني لا أفهم كيفية إنشائه. لماذا لا يمكن ببساطة تمرير `NSRange`؟ من فضلك، اشرح بالأمثلة: 1. كيف يتم استخراج سلسلة فرعية من سلسلة نصية في Swift بشكل صحيح؟ 2. ما هو `Range` و `String.Index` وكيفية التعامل معهما؟ 3. كيفية التعامل مع السلاسل النصية التي تحتوي على Unicode (مثل الرموز التعبيرية أو السيريلية)؟ شكراً مسبقاً