EduFlow
أساسيات Swift لتطبيقات iOS

الاختبار النهائي

اثنا عشر سؤالًا تغطي الدورة كلها. احصل على 70% أو أكثر لتنجح وتفتح شهادتك. يمكنك إعادته متى شئت.

أنهِ كل الدروس لتحصل على الشهادة، ويمكنك خوض الاختبار في أي وقت.

السؤال 1 من 12

expenses مصفوفة فارغة. ما قيمة label؟

Swift
let label = expenses.first?.title.uppercased() ?? "NONE"
السؤال 2 من 12

يحتاج Pocket Budget إلى إعداد لترتيب الفرز فيه ثلاثة خيارات بالضبط (الأحدث، الأقدم، الأكبر)، يُعرض في منتقٍ ويُحفظ على القرص. أيّ نوع هو الأنسب؟

السؤال 3 من 12

لماذا يحتفظ نموذج إضافة المصروف بـ title وamount وcategory في خصائص @State خاصة به بدل الكتابة في المخزن مع كل ضغطة مفتاح؟

السؤال 4 من 12

أضفت case gifts إلى Category. في المشروع ثلاث جمل switch على Category، ومع ذلك تنجح الترجمة دون أخطاء. ما التفسير الأرجح؟

السؤال 5 من 12

عدة مهام تجلب الأسعار بالتوازي ويجب أن تحدّث كلها cache مشتركًا واحدًا. أيّ تعريف يُبقي الـ cache خاليًا من سباقات البيانات؟

السؤال 6 من 12

يحتوي الـ JSON على "total_spent": 12.5 وفي الـ struct الخاص بك let totalSpent: Decimal. يرمي فكّ الترميز keyNotFound. ما أنظف إصلاح؟

السؤال 7 من 12

يريد المستخدمون السحب للأسفل على قائمة الأسعار لتحديثها. أيّ modifier يضيف ذلك؟

السؤال 8 من 12

في أيّ موقف تكون try? خيارًا جيدًا؟

السؤال 9 من 12

أيّ تعريف يعرض المصاريف المحفوظة الأحدث أولًا ويتحدّث من تلقاء نفسه حين تضيف شاشة أخرى مصروفًا؟

السؤال 10 من 12

ماذا يَعِد some View في var body: some View؟

السؤال 11 من 12

يفشل رفع نسخة جديدة إلى App Store Connect لأن رقم الـ Build ذاك استُخدم من قبل لهذا الإصدار. ماذا تفعل؟

السؤال 12 من 12

هل يُترجَم هذا الكود؟

Swift
@Observable
final class Settings {
    var limit: Decimal = 100
}
let settings = Settings()
settings.limit = 200

12 سؤالًا بلا إجابة