یکشنبه ۱۹ آذر ۰۲ | ۱۳:۱۰ ۱۶۸ بازديد
تفاوت فی مابین Associated Values و Raw Values
Associated طراحی اپلیکیشن در مشهد Values Raw Values
Different Datatypes Same Datatypes
Ex: enum {10,0.8,”Hello”} Ex: enum {10,35,50}
Values are created based on constant or variable Prepopulated Values
Varies when declared each time Value for member is same
Enum با مقادیر مرتبط
enum Student {
case Name(String)
case Mark(Int,Int,Int)
}
var studDetails = Student.Name("Swift 4")
var studMarks = Student.Mark(98,97,95)
switch studMarks {
case .Name(let studName):
print("Student name is: \(studName).")
case .Mark(let Mark1, let Mark2, let Mark3):
print("Student Marks are: \(Mark1),\(Mark2),\(Mark3).")
}
خروجی :
Student Marks are: 98,97,95.
از جمله دسترسی به اسم علمآموز و نشانهای ایمنگردیده در سه زمینه را در حیث بگیرید، اسم شمارش بهتیتر علمآموز اعلام می گردد و اعضای حاضر در کلاس enum، نامی میباشند که وابسته به نوع داده فنای میباشند، علائم بهشکل mark1، mark2 و mark3 از نوع داده Integer اکران داده میشوند.
برای دسترسی به اسم شاگرد یا این که نمرات آن ها.
var studDetails = Student.Name("Swift")
var studMarks = Student.Mark(98,97,95)
هم اکنون، کیس سوئیچ اسم فراگیر را درصورتی که که بلوک آیتم ایفا گردد چاپ می نماید، در غیر این شکل علائم ایمن گردیده به وسیله طلبه را چاپ می نماید.
درحالتی که هر دو شرط ناموفق باشند، بلوک پیش فرض ایفا میگردد.
Enum با Raw Values
Raw values میتوانند حرفه ها، کاراکترها یا این که هر کدام از گونه های عدد درست یا این که ممیز FLOAT باشند.
هر مقدار نپخته می بایست در اعلان شمارش اختصاصی باشد.
هنگامی از اعداد درست برای Raw values استعمال می گردد، در صورتیکه کمی برای برخی از اعضای شمارش مشخص و معلوم نشده باشد، به صورت اتومات ارتقاء مییابند.
enum Month: Int {
case January = 1, February, March, April, May, June, July, August,
September, October, November, December
}
let yearMonth = Month.May.rawValue
print("Value of the Month is: \(yearMonth).")
خروجی :
Value of the Month is: 5.
Structures
سوئیفت 4 یک بلوک ساختمانی انعطاف پذیر برای به کارگیری از بنا ها تحت عنوان Structures مهیا می نماید.
با به کار گیری از این ساختارها یک توشه می اقتدار شیوه ها و خصوصیت های بنا ها را تعریفوتمجید کرد.
برخلاف C و Objective C
Structure نیازی به implementation files و رابط ندارد.
Structure به ما اذن میدهد یک فولدر واحد تولید کنیم و رابط آن را به صورت اتومات به بلوک های دیگر توسعه دهیم.
در Structure مقادیر متغیر نسخه برداری گردیده و در کدهای آتی با برگرداندن یک نسخه برداری از مقادیر دیرین ارسال میشود تا مقادیر تغییر تحول نکنند.
Structures are defined with a 'Struct' Keyword.
struct nameStruct {
Definition 1
Definition 2
---
Definition N
}
تعریفوتمجید یک Structure
به عنوان مثال ، فرض نمائید می بایست به رکورد علمآموزان مشمول نمرههای سه مسئله دسترسی داشته باشیم و کل سه مورد را دریابیم.
در اینجا markStruct برای مقداردهی نخستین یک ساختار با سه نماد تحت عنوان نوع داده “Int” به کارگیری میگردد.
struct MarkStruct {
var mark1: Int
var mark2: Int
var mark3: Int
}
دسترسی به ساختار و خصوصیت های آن
اعضای ساختار با اسم structure آن قابل دسترسی می باشند.
مثال های structure با واژه و کلمه کلیدی “let” مقداردهی نخستین میگردند.
struct studentMarks {
var mark1 = 100
var mark2 = 200
var mark3 = 300
}
let marks = studentMarks()
print("Mark1 is \(marks.mark1)")
print("Mark2 is \(marks.mark2)")
print("Mark3 is \(marks.mark3)")
خروجی :
Mark1 is 100
Mark2 is 200
Mark3 is 300
نماد های علم آموزان با اسم ساختار “studentMarks” قابل دسترسی میباشد.
اعضای ساختار به طور mark1، mark2، mark3 با مقادیر نوع درست مقداردهی اول میشوند.
بعد ساختار () studentMarks با واژه و کلمه کلیدی “let” به نشان ها انتقال می یابد.
نشانهای آجل دربردارنده مقادیر اعضای structure خواهند بود.
اینک مقادیر با دسترسی به مقادیر اعضای structure به وسیله ‘.’ چاپ می گردند.
struct MarksStruct {
var mark: Int
init(mark: Int) {
self.mark = mark
}
}
var aStruct = MarksStruct(mark: 98)
var bStruct = aStruct // aStruct and bStruct are two structs with the same value!
bStruct.mark = 97
print(aStruct.mark) // 98
print(bStruct.mark) // 97
خروجی :
enum Climate {
case India
case America
case Africa
case Australia
}
var season = Climate.America
season = .America
switch season {
case .India:
print("Climate is Hot")
case .America:
print("Climate is Cold")
case .Africa:
print("Climate is Moderate")
case .Australia:
print("Climate is Rainy")
}
خروجی :
98
97
شایسته ترین راههای به کارگیری از Structure ها
لهجه سوئیفت 4 عملکردی را برای تعریف و تمجید ساختارها تحت عنوان گونه های داده های سفارشی برای ایجاد کرد بلوک های تابع آماده می نماید.
مثال های ساختار با مقدار آن به بلوک های تعریف و تمجید گردیده برای ویرایش های بیشتر منتقل میشوند.
اصول روانشناسی طراحی اپلیکیشن که باید بدانید