SwiftUI هي وسيلة مريحة جديدة لإنشاء واجهات المستخدم على Xcode. إذا كنت تريد مقدمة سريعة لـ SwiftUI ، فإن نشر المدونة هذا يناسبك.
للبدء ، دعنا ننشئ مشروعًا بدعم SwiftUI. متطلبات النظام الدنيا لذلك هي macOS Catalina و Xcode 11. قم بإنشاء مشروع جديد 
"File> New> Project ..." ، واختر 
"Single View App" وتأكد من تحديد 
"واجهة المستخدم: SwiftUI" .

سيبدو المشروع كالتالي:

كما لاحظت ، يمكنك الآن رؤية جميع التغييرات على الفور في 
المعاينة . على سبيل المثال ، حاول تغيير النص إلى 
"Hello، Habr!" . رائع نعم؟
إذا لم تكن هناك تغييرات ، فانقر فوق الزر " 
استئناف" (في الزاوية اليمنى العليا). إذا كانت 
المعاينة غير مرئية - انقر فوق 
خيارات المحرر وتأكد من تحديد 
Canvas (ptOptions + ommCommand + nEnter) .

عرض ، نص ، مكدس ...
إذا قمت بتحديد 
ContentView.swift ، 
فسنرى :
struct ContentView: View { var body: some View { Text(", !") } } 
هنا نرى أن 
ContentView> النص يحتوي على 
نص يعرض 
"Hello، Habr!" . لنقم بإضافة نص آخر. إذا حاولت إضافة مباشرة إلى 
عرض الجسم ، فسيقسم Xcode. للقيام بذلك ، استخدم أولاً 
HStack أو 
VStack . اضغط على 
Command وانقر فوق 
Text (⌘Command + Text) ، ثم حدد 
"Embed in HStack" .

سيقوم هذا الأمر تلقائيًا بإنشاء 
HStack وإضافة نصنا إلى هناك. يمكنك الآن إضافة نص آخر:
 struct ContentView: View { var body: some View { HStack { Text(",") Text("!") } } } 
سويفتوي المفتش
إذا قمت بالنقر فوق 
"ommCommand + Text" وحدد 
"Show SwiftUI Inspector ..." ، فسيتم فتح مفتش حيث يمكنك تغيير خصائص النص بصريًا. على سبيل المثال ، إذا 
تم تغيير 
"الخط" في المفتش إلى 
"العنوان الكبير" ، فسيتم أيضًا تغيير 
الرمز إلى 
.font (.largeTitle) . بسيط جدا:

لفهم ماهية 
الدولة ، دعونا نضيف بعض الإجراءات. نكرر ما فعلناه من قبل: 
"ommCommand + HStack" ، حدد 
"Embed in VStack" ، ثم أضف Button إلى 
VStack :
 struct ContentView: View { @State var tapCount = 0 var body: some View { VStack { HStack { Text(",") .font(.largeTitle) .foregroundColor(Color.green) Text("!") .font(.largeTitle) .fontWeight(.bold) } Button(action: { self.tapCount += 1 }) { Text("Tap count \(tapCount)") .font(.title) } } } } 
في كل مرة تنقر فوق الزر ، نقوم بتغيير قيمة 
tapCount . لكن ماذا تعني 
الدولة ؟ إذا كنا نريد 
أن يتم عرض وجهة نظرنا 
من جديد عندما تتغير بعض القيم ، فعلينا استخدام 
الحالة . في هذه الحالة ، عندما 
نضغط على الزر ، نقوم بتغيير 
tapCount ، والذي تم تحديده على أنه 
حالة . هذا هو السبب في كل نقرة 
يتم تقديم 
جسدنا مرة أخرى.
المعاينة المباشرة
في الوقت الحالي ، إذا قمت بالنقر فوق الزر ، فلن يحدث شيء. لإصلاح ذلك والعمل كمحاكاة ، تحتاج إلى تنشيط 
"المعاينة المباشرة" . يوجد زر التنشيط في أسفل اليمين:

حاول الآن مرة أخرى. في كل مرة تضغط فيها على الزر ، ستتغير القيمة.
ما التالي؟
الآن لديك المفهوم الأساسي ل SwiftUI. علاوة على ذلك ، أنصحك بقراءة 
دروس SwiftUI ، ومشاهدة 
فيديو WWDC حول SwiftUI . الوثائق يمكن العثور عليها 
هنا .
رابط لمشروع جيثب 
هنا .