آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال در مورد کاربرد Enumerations در swift

شهریار توکلی  9 سال پیش  9 سال پیش
0 0

با درود خدمت شما دوستان و اساتید محترم .

شاید یک اپلیکیشن در ios به صورت کامل و حتی از حجم بزرگی هم زده بشه هیچ وقت نیاز به این مباحث پیدا نکنه . به صورت مثال استفاده از Enumerations ولی وقتی استفاده می شه کد ها تمیز تر و دسته بندی می شوند.

با مطالعه لینک زیر از داکیومنت خود اپل 

 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Enumerations.html#//apple_ref/doc/uid/TP40014097-CH12-ID145

تا اونجایی که متوجه شدم Enumerations برای مجموعه بندی هست به عنوان مثال به سطوح دسترسی می توان اشاره کرد .

 

سوال اصلی من اینکه دقیقا Enumerations ها کجا به کار می روند ؟ آیا برای گروه بندی کردن یک بخش می باشد  ؟

 

و سوال دومی که در این رابطه دارم  !!؟ من از یک پلاگینی استفاده می کنم در نرم افزار  sketch که کد رنگ یک بخش رو برای  ios به صورت کامل و زیبا خروجی می ده 

 enum ColorPalette {

static let Rectangle = UIColor(red:0.847, green: 0.847, blue: 0.847, alpha: 0.502)
}

و من هم هرجا نیاز شده به صورت  ColorPalette.Rectangle استفاده کردم ولی سوال اصلی من اینکه آیا این طور استفاده کردند درست هست ؟ اصلا این enum رم بیشتری مصرف می کنه دقیقا چی هست ؟ چرا باید ازش استفاده کنیم

 

امید وارم صحبت های بنده رو متوجه شده باشید بیشتر می خوام بدونم ماهیت enum چی هست دقیقا 

تشکر

 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
QUQU  9 سال پیش
+1 0

 پاسخ صحیح

enum ها مثل struct و class ها هستن و استفاده های زیادی میشه ازشون کرد ولی بیشترین استفاده ای که ازشون میشه کرد و به شدت کدتون رو حرفه ای تر و خوانا تر میکنه به این صورت هست که به صورت TAG عمل میکنن, مثلا فرض کنین شما یک Listener دارین که در صورت وصل شدن به wifi , وصل شدن به cellular یا کلا قطع شدن net شما رو خبر میکنه و شما میخواین این state رو یک جا ذخیره کنین تا بعدا موقع فرستادن اطلاعات با WebService قبلش چک کنین که اگه به اینترنت وصل نیست اصلا اطلاعات ارسال نشه. enum رو به این صورت تعریف میکنین:

enum NetworkState {
case connectToWifi
case connectToCellular
case disconnect
}

 حالا شما مثلا توی AppDelegate یه object از این enum میسازین تا همیشه بهش دسترسی داشته باشین.

 var networkState = NetworkState.disconnect

هر موقع که وضعیت اینترنت تغییر کرد و شما با خبر شدین شما وضعیت networkState رو تغییر میدین, مثلا اگه WiFi وصل شه :

 let appDel = UIApplication.sharedApplication().delegate as! AppDelegate
appDel.networkState = .connectToWifi

حالا وقتی میخواین اطلاعاتی رو ارسال کنین چک میکنین:

let appDel = UIApplication.sharedApplication().delegate as! AppDelegate
if appDel.networkState == .connectToWifi || appDel.networkState == .connectToCellular {
// ارسال اطلاعات
} else {
//نمایش خطا
}
0 0
تشکر از پاسخ شما . با این تفاصیل از این مورد می شه خیلی در ساخت لاگین هم استفاده کرد (9 سال پیش)
0 0
متوجه منظورتون از لاگین نمیشم ولی خیلی جاها میشه استفاده کرد. بستگی به نیازتون استفاده کنین از enum ها. (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .