امروز،
ضمن عرض سلام و احترام خدمت تمامی کاربران فروم محبوب اسکریپت دات کام
همانطور که قول دادم بهتون ،قصد دارم یکسری مقالات در زمینه برنامه نویسی های مختلف ، برای شما عزیزان قرار دهم . پیشاپیش از تمامی مدیران فروم قدردانی میکنم بابت این فروم بسیار مفید و کاربردی.
چگونگی مدیریت انتخاب سطر در UITableView
همان طور که در آموزش قبلی مطرح کردیم، این دو نماینده به عنوان پروتکل Objective-C شناخته می شوند. شما باید از الزامات تعریف شده در این پروتکلها برای ساخت UITableView پیروی کنید.
آوردن نمایندگان مختلف در برنامه نویسی iOS بسیار متداول است. هر نماینده مسئول یک نقش یا وظیفه خاص برای ساده و تمیز نگه داشتن سیستم می باشد. هر زمان که یک شیء نیاز به انجام کار خاصی دارد، این کار بستگی به مدیریت کردن شیء دیگر دارد. این موضوع به عنوان تفکیک در طراحی سیستمها شناخته می شود.
وقتی به کلاس UITableView نگاه می کنید، هر نماینده با اهداف مختلفی سروکار دارد. نماینده UITableViewDataSource که ما پیاده سازی کردیم، متدهایی را که برای نمایش داده های جدول استفاده می شوند، تعریف می کند. در سمت دیگر، UITableViewDelegate با ظاهر UITableView سر و کار دارد و هم چنین انتخاب ردیف را انجام می دهد.
واضح است که ما از UITableViewDelegate استفاده خواهیم کرد و متود موردنیاز برای انتخاب سطر را پیاده سازی خواهیم کرد.
هر دوی این متدها برای انتخاب سطر استفاده می شوند. تنها تفاوت آنها در این است که “willSelectRowAtIndexPath” زمانی که یک سطر تعیین شده، انتخاب می شود، فراخوانی می گردد. معمولاً از این متد برای جلوگیری از انتخاب یک سلول خاص استفاده می کنیم. به طور معمول، از متد “didSelectRowAtIndexPath” که بعد از این که کاربر یک سطر را انتخاب می کند، فراخوانی می شود، برای مدیریت انتخاب سطر استفاده می شود و این همان جایی است که کد را برای تعیین انجام عمل مورد نظر در هنگام انتخاب یک سطر، اضافه می کنید.
ادامه دارد...
همانطور که قول دادم بهتون ،قصد دارم یکسری مقالات در زمینه برنامه نویسی های مختلف ، برای شما عزیزان قرار دهم . پیشاپیش از تمامی مدیران فروم قدردانی میکنم بابت این فروم بسیار مفید و کاربردی.
چگونگی مدیریت انتخاب سطر در UITableView
اگر شما تا کنون جلسات آموزشی دوره آموزش برنامه نویسی iOS را دنبال کرده باشید، ساخت اپ ساده Table View و سفارشی سازی سلول جدول را فرا گرفته اید. در این جلسه ، بر نمایش داده در یک سطر جدول تمرکز خواهیم کرد. اما ما از کجا بدانیم که چه هنگام ، روی یک سطر جدول ضربه زده می شود؟ این موضوعی است که در این پست به آن خواهیم پرداخت و چگونگی مدیریت انتخاب سطر را نشان خواهیم داد.
ابتدا، بیایید اپ خود و آن چه را که ما می خواهیم اضافه کنیم، ببینید.
دو تغییر هست که ما می خواهیم در این آموزش آنها را اعمال کنیم:
ابتدا، بیایید اپ خود و آن چه را که ما می خواهیم اضافه کنیم، ببینید.
دو تغییر هست که ما می خواهیم در این آموزش آنها را اعمال کنیم:
- نمایش یک پیام هشدار زمانی که کاربر روی سطر ضربه می زند.
- نمایش یک check mark زمانی که کاربر یک سطر را انتخاب می کند.
فهم UITableViewDelegate
هنگامی که شما اولین اپ ساده Table View را ساختید، دو نماینده (UITableViewDelegate, UITableViewDataSource) را در SimpleTableController.h اعلام کردید.
کد:
#import <UIKit/UIKit.h>
@interface SimpleTableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@end
همان طور که در آموزش قبلی مطرح کردیم، این دو نماینده به عنوان پروتکل Objective-C شناخته می شوند. شما باید از الزامات تعریف شده در این پروتکلها برای ساخت UITableView پیروی کنید.
آوردن نمایندگان مختلف در برنامه نویسی iOS بسیار متداول است. هر نماینده مسئول یک نقش یا وظیفه خاص برای ساده و تمیز نگه داشتن سیستم می باشد. هر زمان که یک شیء نیاز به انجام کار خاصی دارد، این کار بستگی به مدیریت کردن شیء دیگر دارد. این موضوع به عنوان تفکیک در طراحی سیستمها شناخته می شود.
وقتی به کلاس UITableView نگاه می کنید، هر نماینده با اهداف مختلفی سروکار دارد. نماینده UITableViewDataSource که ما پیاده سازی کردیم، متدهایی را که برای نمایش داده های جدول استفاده می شوند، تعریف می کند. در سمت دیگر، UITableViewDelegate با ظاهر UITableView سر و کار دارد و هم چنین انتخاب ردیف را انجام می دهد.
واضح است که ما از UITableViewDelegate استفاده خواهیم کرد و متود موردنیاز برای انتخاب سطر را پیاده سازی خواهیم کرد.
مدیریت انتخاب سطر جدول
قبل از این که کد را تغییر دهیم، ممکن است از خود بپرسید:
چگونه می دانیم که چه متدهایی برای اجرا در UITableViewDelegate نیاز داریم؟
شما می توانید همیشه به مرجع برنامه نویسی iOS اپل مراجعه کنید. دو روش برای دستیابی به مستندات وجود دارد. می توانید به مستندات API در وب سایت اپل دسترسی یابید. یا به سادگی در داخل Xcode دنبال آن بگردید. لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید ، برای مثال، می توانید مستندات API از UITableViewDelegate را بیاورید که کافی است فقط اشاره گر را بر روی نام کلاس برده و “control-command-?” را فشار دهید. شما صفحه پاپ آپ زیر را خواهید دید:
روی مرجع پروتکل UITableViewDelegate برای نمایش مستند API کلیک کنید.
اگر این مستند را خوانده باشید، خواهید فهمید که متدهایی که برای مدیریت انتخاب سطر به کار می روند، عبارتند از:
چگونه می دانیم که چه متدهایی برای اجرا در UITableViewDelegate نیاز داریم؟
شما می توانید همیشه به مرجع برنامه نویسی iOS اپل مراجعه کنید. دو روش برای دستیابی به مستندات وجود دارد. می توانید به مستندات API در وب سایت اپل دسترسی یابید. یا به سادگی در داخل Xcode دنبال آن بگردید. لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید ، برای مثال، می توانید مستندات API از UITableViewDelegate را بیاورید که کافی است فقط اشاره گر را بر روی نام کلاس برده و “control-command-?” را فشار دهید. شما صفحه پاپ آپ زیر را خواهید دید:
روی مرجع پروتکل UITableViewDelegate برای نمایش مستند API کلیک کنید.
اگر این مستند را خوانده باشید، خواهید فهمید که متدهایی که برای مدیریت انتخاب سطر به کار می روند، عبارتند از:
- tableView:willSelectRowAtIndexPath
- tableView:didSelectRowAtIndexPath
هر دوی این متدها برای انتخاب سطر استفاده می شوند. تنها تفاوت آنها در این است که “willSelectRowAtIndexPath” زمانی که یک سطر تعیین شده، انتخاب می شود، فراخوانی می گردد. معمولاً از این متد برای جلوگیری از انتخاب یک سلول خاص استفاده می کنیم. به طور معمول، از متد “didSelectRowAtIndexPath” که بعد از این که کاربر یک سطر را انتخاب می کند، فراخوانی می شود، برای مدیریت انتخاب سطر استفاده می شود و این همان جایی است که کد را برای تعیین انجام عمل مورد نظر در هنگام انتخاب یک سطر، اضافه می کنید.
ادامه دارد...