session
سلام و خسته نباشید.
ببخشید دوستان کسی میدونه NSURLSession چیه؟چه کلاسیه؟چکار میکنه؟
و همچنین sharedsession چیه؟
توو بخش 12 ، قسمت اول استاد از این دوتا استفاده می کنند...ولی توضیحی در موردش ندادند...اگر دوستان بتونند توضیح مبسوطی در موردشون بدهند ممنون میشم
NSURLSession یک کلاس و API ـیی است که از طریق آن می توانید اطلاعاتی را از طریق پروتکل HTTP ( پروتکل http : به پروتکلی گفته می شود که برای ایجاد ارتباط ، دریافت و ارسال داده ها بین سرور و Client استفاده می شود ) دانلود یا آپلود کنید . این API مجموعه ی غنی از متدهای delegate ( لینک ) را فراهم می کند . شامل عملیاتی مانند : احراز هویت می شود و در background ، زمانی که app شما suspend ( معلق ) شده باشد توانایی downlaod یا upload را می دهد .
برای استفاده از NSURLSession API ، اپلیکیشن شما مجموعه ای از session ها را ایجاد می کند در حالی که هر کدام از session ها وظیفه ی انتقال داده های مرتبط را بر عهده دارند .
Session چیست ؟ یک آرایه است که روی سرور ذخیره می شود و هر عنصر از این آرایه یک نام منحصر به فرد را به خودش میگیرد ، که این نام می تواند تحت قوانین نامگذاری زبان سمت سرور مانند : PHP ، Ruby و .. باشد و می تواند بین همه ی صفحات وب به اشتراک گذاشته شود ، البته تا زمانی که کاربر پنجره ی مورد نظر را نبسته باشد . به عبارت دیگر : یک صفحه مقدار session خاصی را ایجاد می کند و بقیه صفحات وب می توانند آن را بخوانند و براساس مقادیر آن کار های مختلفی را انجام دهند . تفاوت session با cookie : کوکی برروی کامپیوتر Client ذخیره میشود و هر وقت که کاربر بخواهد می تواند آن را از روی سیستم غیر فعال کند درحالی که session برروی server ذخیره می شود و کاربر نمی تواند آن را غیرفعال کند .
مثالی از session : فرض کنید کاربری با نام patriot پاسخی برای شما درج کرده است و شما می خواهید اطلاعاتی از کاربر مورد نظر تون بدست آورید . برای اینکار روی تصویر کاربری کلیک می کنید و در اینجاست که session ای از اطلاعات ایجاد می شود و با توجه به session ایجاد شده شما را به صفحه ی بعد منتقل می کند .
برای اینکه از معماری NSURLSession اطلاعات بیشتری بدست آورید به لینک های روبرو مراجعه کنید : لینک و لینک و لینک
shared session : با توجه به توضیحات داده شده می توان نتیجه گرفت که shard session به معنی : به اشتراک گذاری session ها بین فرم ها در یک اپلیکیشن می باشد .
خیلی خیلی ممنون بابت توضیح مبسوطی ه دادین...دستتون درد نکنه...امکان داره یه توضیحی هم درباره delegate بدین؟چه زمانی از عبارت delegate استفاده می کنیم؟کاربردش چیه؟
Delegates چیست ؟
delegate یک شی است که به نمایندگی از شی دیگر یا برای هماهنگی با شی دیگر عمل می کند ، چه زمانی عمل می کند ؟ زمانی که یک شی به یک رویداد در یک برنامه برخورد می کند . به عبارت دیگر از delegate به عنوان شی پاسخ ( Object responder ) استفاده می کنند . شی delegate ، رفتار و خصوصیات خودش را از کلاس NSResponder ای که در AppKit یا UIResponder ( پاسخ رابط کاربری ) موجود در کلاس UIKit به ارث می برد .
بنابراین شی delegate ، برای کنترل رویداد هایی که در user interface ( رابط کاربردی ) به وجود می آیند استفاده می شود . به طور مثال : فرض کنید در یک فایل متنی word تغییراتی ایجاد کرده اید و بدون ذخیره کردن آخرین تغییرات اقدام به بستن پنجره می کنید و در اینجاست که ناگهان برنامه از شما سوال میپرسه ، آیا می خواهید آخرین تغییرات اعمال شده ذخیره شود یا خیر .
همچنین به Block Diagram های زیر توجه کنید :
و این نکته را هم به یاد داشته باشید که delegate ها با توجه به session هایی که برای app ایجاد می کنیم عمل خواهند کرد . برای کسب اطلاعات بیشتر به لینک روبرو مراجعه کنید : لینک
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .