Я новичок в программировании на iOS. Я следую за книгой и некоторыми учебниками, чтобы узнать ее. Мне нужна помощь в понимании этих методовiOS - segue и tableView
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"PushAppDetails"])
{
AppDetailsViewController *appDetailsViewController = segue.destinationViewController;
UITableViewCell *cell = sender;
appDetailsViewController.appDetails =
[[AppDetails alloc] initWithName:cell.textLabel.text
description:cell.detailTextLabel.text];
}
}
{
//Set the CellIdentifier that you set in the storyboard
static NSString *CellIdentifier = @"AppCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
switch (indexPath.row)
{
case 0:
cell.textLabel.text = @"Awesome App";
cell.detailTextLabel.text = @"Long description of the awesome app...";
break;
case 1:
cell.textLabel.text = @"Even More Awesome App";
cell.detailTextLabel.text = @"Long description of the even more awesome app...";
break;
case 2:
cell.textLabel.text = @"The Most Awesome App Ever";
cell.detailTextLabel.text =
@"Long description of the most awesome app ever seen...";
break;
default:
cell.textLabel.text = @"Unkown";
cell.detailTextLabel.text = @"Unknown";
break;
}
return cell;
}
То, что я не понимая, вот эти линии
UITableViewCell *cell = sender;
appDetailsViewController.appDetails =
[[AppDetails alloc] initWithName:cell.textLabel.text
description:cell.detailTextLabel.text];
Я получил это, что я идентифицирующий SEGUE от этой линии [segue.identifier isEqualToString:@"PushAppDetails"]
, а затем я создал объект из AppdetailsViewController класса, но я не понял, что делает эта линия
UITableViewCell *cell = sender;
и как эта линия звонит нижнюю табличную функцию, когда функция переключателя является и описанием каждой ячейки и ни этой линией
appDetailsViewController.appDetails =
[[AppDetails alloc] initWithName:cell.textLabel.text
description:cell.detailTextLabel.text];
У меня есть метод в моем appDetails классе .. почему бы не просто я могу это сделать, если я должен доступа, метод
AppDetails *app = new [AppDetails alloc]init
[app initWithName:cell.textLabel.text
description:cell.detailTextLabel.text];
Я на самом деле пришли из Java, так что я чувствую себя немного трудно понять это
thankyouu очень .. – hellosheikh