آرایه یک ساختار داده مهم در نرمافزار نویسی کامپیوتری می باشد. می توانیم یک آرایه را به طور دسته ای از المان های داده ای تصور کنیم. آرایه recipes در کد بالا را در حیث بگیرید، این آرایه ، دسته ای از المان های متنی را نشانه می دهد. می توانیم آرایه را مانند صورت تحت تصویرسازی کنیم: هر مورد از المان های آرایه توسط یک طراحی اپلیکیشن در مشهد ایندکس قابل شناسایی یا این که قابل دسترسی میباشند. یک آرایه با 10 المان از 0 تا 9 ایندکس گذاری می شوند. بهاین مفهوم که، [recipes[0 ، اولی المان از آرایه “recipes” را بر می گرداند.
در Objective-C ، آرایه NSArray کلاسی برای تولید و رئیس آرایه می باشد. می توانیم از NSArray برای ساخت آرایه استاتیک که اندازه ثابتی داراست ، به کار گیری کنیم. درصورتیکه به یک آرایه پویا نیاز داشته باشیم ، از NSMutableArray استعمال میکنیم.
NSArray تیم ای از طریق های factory برای تولید یک شیء آرایه را ارائه می کند. در کدهای ما، از “arrayWithObjects” برای مثال سازی یک شیء NSArray به کارگیری می کنیم و آن را با المان های خاصی (مانند Hamburger ) پیش لود میکنیم.
ما هم اینگونه می توانیم از متدهای دیگر built-in ، برای پرس و جو و مدیر آرایه به کارگیری نماییم. بعداً ، ما سیاق “count” را برای پرس و جو تعداد المان های داده ای در آرایه فراخوانی خواهیم کرد. برای دستیابی داده ها بیشتر راجعبه به کارگیری از NSArray شما می توانید به مستند Apple’s official document مراجعه کنید.
در غایت ، ما می بایست دو مشی datasource را اضافه نماییم: “tableView:numberOfRowsInSection” و “tableView:cellForRowAtIndexPath”. این دو روال بخشی از پروتکل UITableViewDataSource می باشند. طراحی این متدها در هنگام تنظیمات یک UITableView ضروری میباشد. اولین اسلوب ، برای اگاهی table view از تعداد سطرها در هر قسمت ، آیتم به کار گیری قرار میگیرد. پس بیایید ، کد ذیل را اضافه کنیم. اسلوب “:count” به آسانی تعداد اقلام جان دار در آرایه “recipes” را بر می گرداند.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [recipes count];
}
درپی ، ما متدی لازم آینده را طراحی میکنیم.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text = [recipes objectAtIndex:indexPath.row];
return cell;
}
مشی “:cellForRowAtIndexPath” هر مجال که یک سطر جدول اکران داده می گردد، فراخوانی می خواهد شد. تصویر پایین فهم بهتری از کیفیت کارایی UITableView و UITableDataSource ارائه می دهد.
بسیار عالی، کلید “Run” را کلیک کرده و کوشش میکنیم ، نرمافزار پایانی خویش را جاری ساختن نماییم. هنوز با نرمافزار خالی مواجه هستیم! نرمافزار مثل دیرین فعالیت می نماید.
چرا هنوز نرم افزار خالی است؟ ما پیش از اینً ، کد لازم را برای ساخت داده های جدول را نوشته ایم و متدهای ما یحتاج را طراحی کرده ایم. البته چرا table view چیزی را که انتظار داریم ، هنوز نشانه نمی دهد؟
هنوز یک عمل میباشد که ایفا نداده ایم.
متصل کردن DataSource و Delegate
مانند کلید “Hello World” در فراگیری گردهمایی اولیه، ما می بایست اتصال میان Table View و دو متدی که ساخت و ساز کرده ایم را می بایست برقرار نماییم.
به Main.Storyboard یاز میگردیم. Table view را گزینش میکنیم. کلید Control از کیبورد را فشرده و نگه میداریم ، روی Table View کلیک کرده و آن را به آیکون بارانداز “Simple Table View Controller” درگ میکنیم. کاغذ اکران بایستی همچون صورت پایین باشد:
هر دو کلید را رها میکنیم و یک پیام به طور pop-up با دو مقدار “dataSource” و “delegate” نشان داده میشود. آیتم “dataSource” را برای ساخت رابطه دربین Table View و data source آن ، گزینش میکنیم. روند بالا را تکرار کرده و یک رابطه با delegate ساخت و ساز می نماییم.
عمل اجرا شد. برای مطمئن شدن از برقراری صحیح اتصالات ، می توانیم مجدد Table View را گزینش کنیم. در نصیب بالایی از Utility area ، می توانیم پیوندها مو جود در “Connection Inspector” (یعنی سمت راست ترین tab) را ببینیم.
آزمایش نرمافزار
در غایت ، برنامه ما ، برای آزمایش فراهم میباشد. به آسانی روی کلید “Run” کلیک کرده و اذن میدهیم مشابه ساز اپلیکیشن مارا لود کند:
آرایه یک ساختار داده مهم در نرمافزار نویسی کامپیوتری می باشد. می توانیم یک آرایه را به طور دسته ای از المان های داده ای تصور کنیم. آرایه recipes در کد بالا را در حیث بگیرید، این آرایه ، دسته ای از المان های متنی را نشانه می دهد. می توانیم آرایه را مانند صورت تحت تصویرسازی کنیم: هر مورد از المان های آرایه توسط یک طراحی اپلیکیشن در مشهد ایندکس قابل شناسایی یا این که قابل دسترسی میباشند. یک آرایه با 10 المان از 0 تا 9 ایندکس گذاری می شوند. بهاین مفهوم که، [recipes[0 ، اولی المان از آرایه “recipes” را بر می گرداند.
در Objective-C ، آرایه NSArray کلاسی برای تولید و رئیس آرایه می باشد. می توانیم از NSArray برای ساخت آرایه استاتیک که اندازه ثابتی داراست ، به کار گیری کنیم. درصورتیکه به یک آرایه پویا نیاز داشته باشیم ، از NSMutableArray استعمال میکنیم.
NSArray تیم ای از طریق های factory برای تولید یک شیء آرایه را ارائه می کند. در کدهای ما، از “arrayWithObjects” برای مثال سازی یک شیء NSArray به کارگیری می کنیم و آن را با المان های خاصی (مانند Hamburger ) پیش لود میکنیم.
ما هم اینگونه می توانیم از متدهای دیگر built-in ، برای پرس و جو و مدیر آرایه به کارگیری نماییم. بعداً ، ما سیاق “count” را برای پرس و جو تعداد المان های داده ای در آرایه فراخوانی خواهیم کرد. برای دستیابی داده ها بیشتر راجعبه به کارگیری از NSArray شما می توانید به مستند Apple’s official document مراجعه کنید.
در غایت ، ما می بایست دو مشی datasource را اضافه نماییم: “tableView:numberOfRowsInSection” و “tableView:cellForRowAtIndexPath”. این دو روال بخشی از پروتکل UITableViewDataSource می باشند. طراحی این متدها در هنگام تنظیمات یک UITableView ضروری میباشد. اولین اسلوب ، برای اگاهی table view از تعداد سطرها در هر قسمت ، آیتم به کار گیری قرار میگیرد. پس بیایید ، کد ذیل را اضافه کنیم. اسلوب “:count” به آسانی تعداد اقلام جان دار در آرایه “recipes” را بر می گرداند.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [recipes count];
}
درپی ، ما متدی لازم آینده را طراحی میکنیم.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text = [recipes objectAtIndex:indexPath.row];
return cell;
}
مشی “:cellForRowAtIndexPath” هر مجال که یک سطر جدول اکران داده می گردد، فراخوانی می خواهد شد. تصویر پایین فهم بهتری از کیفیت کارایی UITableView و UITableDataSource ارائه می دهد.
بسیار عالی، کلید “Run” را کلیک کرده و کوشش میکنیم ، نرمافزار پایانی خویش را جاری ساختن نماییم. هنوز با نرمافزار خالی مواجه هستیم! نرمافزار مثل دیرین فعالیت می نماید.
چرا هنوز نرم افزار خالی است؟ ما پیش از اینً ، کد لازم را برای ساخت داده های جدول را نوشته ایم و متدهای ما یحتاج را طراحی کرده ایم. البته چرا table view چیزی را که انتظار داریم ، هنوز نشانه نمی دهد؟
هنوز یک عمل میباشد که ایفا نداده ایم.
متصل کردن DataSource و Delegate
مانند کلید “Hello World” در فراگیری گردهمایی اولیه، ما می بایست اتصال میان Table View و دو متدی که ساخت و ساز کرده ایم را می بایست برقرار نماییم.
به Main.Storyboard یاز میگردیم. Table view را گزینش میکنیم. کلید Control از کیبورد را فشرده و نگه میداریم ، روی Table View کلیک کرده و آن را به آیکون بارانداز “Simple Table View Controller” درگ میکنیم. کاغذ اکران بایستی همچون صورت پایین باشد:
هر دو کلید را رها میکنیم و یک پیام به طور pop-up با دو مقدار “dataSource” و “delegate” نشان داده میشود. آیتم “dataSource” را برای ساخت رابطه دربین Table View و data source آن ، گزینش میکنیم. روند بالا را تکرار کرده و یک رابطه با delegate ساخت و ساز می نماییم.
عمل اجرا شد. برای مطمئن شدن از برقراری صحیح اتصالات ، می توانیم مجدد Table View را گزینش کنیم. در نصیب بالایی از Utility area ، می توانیم پیوندها مو جود در “Connection Inspector” (یعنی سمت راست ترین tab) را ببینیم.
آزمایش نرمافزار
در غایت ، برنامه ما ، برای آزمایش فراهم میباشد. به آسانی روی کلید “Run” کلیک کرده و اذن میدهیم مشابه ساز اپلیکیشن مارا لود کند:

نکات اصلی برای نصب JDK