0Pricing
Swift Academy · درس

عمليات CRUD على القواميس والوصول عبر Subscript

أنشئ أزواج المفتاح والقيمة واقرأها وحدّثها واحذفها بأمان

عمليات CRUD على القواميس والوصول عبر Subscript درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.

مرحبًا

تربط قواميس Swift المفاتيح الفريدة بالقيم. وهي توفّر بحثًا بمتوسط تعقيد O(1)، ما يجعلها مثالية للوصول إلى البيانات باستخدام المفاتيح. لنتقن عمليات CRUD.

إنشاء القواميس

```swift var empty: [String: Int] = [:] var ages = ["Alice": 30, "Bob": 25] var inferred = Dictionary(uniqueKeysWithValues: zip(["a","b"],[1,2])) ```

قراءة القيم بأمان

```swift let score = ages["Alice"] // Optional(30) let miss = ages["Charlie"] // nil if let age = ages["Bob"] { print("Bob is \(age)") } ``` يعيد الوصول باستخدام subscript قيمة من النوع Optional، إذ قد لا يكون المفتاح موجودًا.

الوصول باستخدام قيمة افتراضية

```swift print(ages["Charlie", default: 0]) // 0 ages["Dave", default: 0] += 1 // inserts Dave:1 ``` تتجنب `default:` فكّ التغليف القسري، كما تتيح الزيادة في مكانها.

الإدراج والتحديث

```swift var d = ["a": 1] d["b"] = 2 // insert d["a"] = 10 // update d.updateValue(20, forKey: "a") // returns old Optional(10) ```

إزالة الإدخالات

```swift var d = ["a":1,"b":2,"c":3] d["b"] = nil // removes key "b" d.removeValue(forKey:"c") // returns Optional(3) d.removeAll() // empty ```

المفاتيح والقيم

```swift let d = ["x":10,"y":20] print(Array(d.keys)) // ["x","y"] (unordered) print(Array(d.values)) // [10,20] ``` إن `keys` و`values` عرضان كسولان لمجموعة، وليسا مصفوفتين.

دمج القواميس

```swift var base = ["a":1,"b":2] let extra = ["b":20,"c":3] base.merge(extra) { _, new in new } // keep new on conflict // ["a":1,"b":20,"c":3] ```

العدّ و isEmpty

```swift let d = ["a":1,"b":2] print(d.count) // 2 print(d.isEmpty) // false ```

استخدام contains(where:) مع القواميس

```swift let scores = ["Alice":85,"Bob":92] let hasHighScore = scores.contains { $0.value >= 90 } print(hasHighScore) // true ```

اختبار سريع

ماذا تُرجع `dict["key"]` في Swift؟

مراجعة

أهم النقاط: • يعيد subscript قيمة من النوع `Value?`؛ تعاملوا دائمًا مع القيمة الاختيارية • `dict[key, default: v]` — قيمة بديلة مضمّنة • `updateValue(_, forKey:)` — يعيد القيمة القديمة • يؤدي `dict[key] = nil` إلى إزالة الإدخال • يجمع `merge(_:uniquingKeysWith:)` بين القواميس التالي: التكرار على القواميس وتحويلها.

الأسئلة الشائعة

هل درس «عمليات CRUD على القواميس والوصول عبر Subscript» مجاني؟

نعم — نص درس «عمليات CRUD على القواميس والوصول عبر Subscript» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.

ماذا ستتعلم في «عمليات CRUD على القواميس والوصول عبر Subscript»؟

أنشئ أزواج المفتاح والقيمة واقرأها وحدّثها واحذفها بأمان تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟

لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «عمليات CRUD على القواميس والوصول عبر Subscript»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟

نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عمليات CRUD على القواميس والوصول عبر Subscript
  2. تكرار القواميس وتحويلها
  3. عمليات Set: الاتحاد والتقاطع والفرق
  4. الاختيار بين Array وDictionary وSet
← العودة إلى Swift Academy