البرمجة

تعلم كيفية حل مشكلة الشرط الخاطئ في Swift

في الواقع، المشكلة في الشيفت التي قمت بعملها في الشرط الأخير (else) بعد استخدام سلسلة من الشروط (if)، حيث أن الشرط الأخير ليس مرتبطاً بالشروط السابقة. بمعنى آخر، حتى لو كانت finalName تساوي “Berlin, DE”، سيتم تنفيذ الشرط else دائماً. السبب في ذلك هو أنه بعد كل شرط if، تأتي فقرة else مستقلة، وهذا يعني أنها ستنفذ بغض النظر عن نتيجة الشروط السابقة.

لحل هذه المشكلة، يمكنك استخدام الشروط else if بدلاً من if بعد الشروط الأولية، مما يربط الشروط مع بعضها البعض ويجعلها تنفذ بشكل منطقي وفقاً لقيمة finalName. يمكنك تعديل الشيفت الخاص بك إلى الشكل التالي:

swift
if finalName == "London, GB" { let londonImage = UIImage(named: "united-kingdom-1043062.jpg") imageViewPage1.image = londonImage } else if finalName == "Novaya Gollandiya, RU" { let StPetersbourgImage = UIImage(named: "architecture-995613_1920.jpg") imageViewPage1.image = StPetersbourgImage } else if finalName == "Berlin, DE" { let BerlinImage = UIImage(named: "siegessaule-200714_1920.jpg") imageViewPage1.image = BerlinImage } else if finalName == "Tel Aviv, IL" { let TelAvivImage = UIImage(named: "buildings-89111.jpg") imageViewPage1.image = TelAvivImage } else { let elseImage = UIImage(named: "sun-203792.jpg") imageViewPage1.image = elseImage }

بهذه الطريقة، سيتم تنفيذ الشرط الذي يطابق قيمة finalName وستتجنب الوصول إلى الفقرة else بشكل غير متوقع.

المزيد من المعلومات

بالطبع! في الشيفت الخاص بك، تستخدم مجموعة من الشروط (if) لفحص قيمة finalName وتعيين صورة معينة لـ imageViewPage1 بناءً على قيمة finalName. ومن الواضح أنك تواجه مشكلة في التحقق من الشروط بشكل صحيح.

السطور الأولى من الشيفت الخاص بك يعتبرون شروطًا مستقلة عن بعضهم البعض، وهذا يعني أنه إذا تحقق أي شرط، فإن الشرط الأخير (الفقرة else) سيتم تنفيذه بغض النظر عن الشروط السابقة. هذا هو السبب في عدم تنفيذ الشروط بالطريقة التي تتوقعها.

باستخدام else if بدلاً من if بعد كل شرط، سيتم تنفيذ شرط واحد فقط (الذي يتطابق مع قيمة finalName)، وسيتم تجاهل الشروط الأخرى. هذا سيحل المشكلة التي تواجهها وستتمكن من تحديد الصورة بشكل صحيح بناءً على قيمة finalName.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر