Return to Video

Passing the Model using prepareForSegue - Intro to iOS App Development with Swift

  • 0:00 - 0:03
    .ها هو سبب الاستمرار في تشغيل movie quote
  • 0:03 - 0:06
    ،وبالتالي ففي RecordSoundsViewController
  • 0:06 - 0:09
    .لدينا دالة تسمى audioRecorderDidFinishRecording
  • 0:09 - 0:13
    .وداخل هذه الدالة، ما نقوم به هو حفظ recordedAudio
  • 0:13 - 0:15
    ،وبالمناسبة، نحن نتتبع شيئين عن الصوت وهما
  • 0:15 - 0:18
    .مسار الملف والعنوان
  • 0:18 - 0:20
    ،وبالرغم أننا الآن نحفظ الصوت الذي تم تسجيله
  • 0:20 - 0:24
    .لا نقوم بتمريره تمامًا من المشهد الأول إلى الثاني فحسب
  • 0:24 - 0:26
    ،وإذا كنتم تريدون تشغيل الأصوات في وحدة تحكم U الثانية
  • 0:26 - 0:28
    .فنحن بحاجة إلى تمرير هذه البيانات للمشهد الثاني
  • 0:28 - 0:30
    .لنقم بذلك فيما بعد
  • 0:30 - 0:34
    وما أقوم به الآن هو الرجوع إلى RecordSoundsViewController وتعريفكم
  • 0:34 - 0:38
    .بدالة أخرى نرثها من UIViewController
  • 0:39 - 0:40
    .وهي تسمى prepareForSegue
  • 0:41 - 0:44
    .ومع بدء كتابتي لها، يكملها Xcode تلقائيًا لي
  • 0:45 - 0:50
    وهذه الدالة، prepareForSegue، يتم طلبها قبل أن يوشك تنفيذ
  • 0:50 - 0:54
    .التنقل السلس وبالتالي يعد مكانًا رائعًا لتمرير أية بيانات
  • 0:54 - 0:57
    وهنا، سأضيف عبارة if وأتحقق
  • 0:57 - 1:00
    .لمعرفة ما إذا كان مُعرف التنقل السلس الخاص بي هو stopRecording
  • 1:00 - 1:03
    يصبح هذا النوع من التحقق الآن مهمًا بالفعل عندما يكون لدينا العديد
  • 1:03 - 1:07
    .من عمليات التنقل السلس المرتبطة بنفس ViewController
  • 1:07 - 1:10
    ،حسنًا، لتمرير البيانات إلى ViewController الثانية
  • 1:10 - 1:13
    .نحن بحاجة إلى طريقة ما للوصول إليها في التعليمة البرمجية
  • 1:13 - 1:15
    .ويمكنني القيام بذلك من خلال هذا السطر
  • 1:15 - 1:19
    قمتُ هنا بإنشاء ثابت يسمى playSoundsVC، ثم عرّفتُ
  • 1:19 - 1:24
    النوع المناسب له، ثم استخدمت خاصية destinationViewController الخاصة بالتنقل السلس
  • 1:24 - 1:27
    .للحصول على مقبض على ViewController في التطبيق
  • 1:27 - 1:32
    كما أنني أستخدم الكلمة الأساسية في Swift لتحويل خاصية destinationViewController هذه إلى
  • 1:32 - 1:36
    .النوع الصحيح الذي نريده، وهو PlaySoundsViewController
  • 1:37 - 1:41
    ،حسنًا، لدينا طريقة الآن للوصول إلى playSoundsViewController في التعليمة البرمجية
  • 1:41 - 1:43
    .لنفكر إذًا في كيفية تمرير البيانات فيها
  • 1:45 - 1:48
    .يمكننا الحصول على بياناتنا من معلمة المرسل هذه
  • 1:48 - 1:51
    ،تذكروا أن المرسل هو الكائن الذي بدأ التنقل السلس
  • 1:51 - 1:53
    .والذي كان recordedAudio في حالتنا
  • 1:54 - 1:58
    .إذًا يمكنني كتابة سطر تعليمات برمجية يبدو مثل استرداد البيانات
  • 1:59 - 2:03
    .إذًا أنا بحاجة الآن إلى تمرير هذه البيانات إلى playSoundsViewController
  • 2:03 - 2:07
    لكن انتظروا، يبدو أن الخاصية playSoundsViewController
  • 2:07 - 2:11
    ليس لديها طريقة بالفعل لاستلام أية بيانات حتى الآن، أليس كذلك؟
  • 2:11 - 2:14
    إذًا لحل ذلك، ما سأقوم به هو الذهاب إلى playSoundsViewController من
  • 2:14 - 2:20
    .المتصفح وإنشاء متغير جديد يسمى receivedAudio
  • 2:20 - 2:23
    .والآن هذا المتغير من النوع RecordedAudio
  • 2:23 - 2:24
    .وكان هذا هو الفئة الجديدة التي تم إنشاؤها
  • 2:25 - 2:29
    .وإذا عدتم الآن إلى prepareForSegue، يمكنني تمرير البيانات بهذا الشكل
  • 2:29 - 2:33
    .ويمكنني قول playSoundsViewController.receivedAudio
  • 2:33 - 2:36
    .هذا هو المتغير الجديد الذي أنشأناه في playSoundsViewController
  • 2:36 - 2:37
    .وهذا مساوٍ الآن للبيانات
  • 2:38 - 2:40
    .رائع، دعونا نشغل هذا المشروع
  • 2:41 - 2:42
    .حسنًا، دعوني أسجل شيئًا ما
  • 2:43 - 2:45
    هل يعمل التطبيق الآن؟
  • 2:45 - 2:47
    .ثم سأشغل الصوت
  • 2:47 - 2:51
    .>> My momma always said life was like a box of chocolates
  • 2:51 - 2:52
    .>> أمم
  • 2:52 - 2:54
    .لا يزال التطبيق يقوم بتشغيل movie quote
  • 2:54 - 2:56
    هل تستطيعون تخمين سبب حدوث ذلك؟
  • 2:56 - 2:58
    .أدخلوا إجاباتكم في هذه الخانة
Tytuł:
Passing the Model using prepareForSegue - Intro to iOS App Development with Swift
Opis:

more » « less
Video Language:
English
Team:
Udacity
Projekt:
UD585 - Intro to iOS App Development with Swift
Duration:
02:59

Arabic subtitles

Revisions