我在使用Object-C.Is开发简单的ios应用程序时使用下面的代码,这些代码有另一种优化代码的方法:
if ([segue.identifier isEqualToString:@"showCommitDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
CommitDetailsTableViewController *destViewController = segue.destinationViewController;
RepoObject *repoObj = [self.RepoListArray objectAtIndex:indexPath.row];
NSString *repoCommit_url = [repoObj.Commit_url stringByReplacingOccurrencesOfString:@"{/sha}" withString:@""];
if (indexPath.row == 0) {
NSString *SpringBootURL = repoCommit_url;
self.commit_url = SpringBootURL;
destViewController.CommitRepoURL = self.commit_url;
destViewController.navigationItem.title = @"Spring-Integration-in-Action";
}else if (indexPath.row == 1){
NSString *SpringFrameworkURL = repoCommit_url;
self.commit_url = SpringFrameworkURL;
destViewController.CommitRepoURL = self.commit_url;
destViewController.navigationItem.title = @"spring-data-jdbc-ext";
}else if (indexPath.row == 2){
NSString *SpringAmqpURL = repoCommit_url;
self.commit_url = SpringAmqpURL;
destViewController.CommitRepoURL = self.commit_url;
destViewController.navigationItem.title = @"spring-data-commons";
}else if (indexPath.row == 3){
NSString *SpringIdeURL = repoCommit_url;
self.commit_url = SpringIdeURL;
destViewController.CommitRepoURL = self.commit_url;
destViewController.navigationItem.title = @"spring-data-graph";
}else{
NSString *SpringIntegratURL = repoCommit_url;
self.commit_url = SpringIntegratURL;
destViewController.CommitRepoURL = self.commit_url;
destViewController.navigationItem.title = @"spring-data-document-examples";
}
}除此之外,我如何直接分配标题,而不像上面那样对其进行硬编码。
发布于 2017-04-02 14:50:20
if ([segue.identifier isEqualToString:@"showCommitDetail"]) {
NSInteger selectedRow = [self.tableView indexPathForSelectedRow].row;
CommitDetailsTableViewController *destViewController = segue.destinationViewController;
RepoObject *repoObj = [self.RepoListArray objectAtIndex:selectedRow];
self.commit_url = [repoObj.Commit_url stringByReplacingOccurrencesOfString:@"{/sha}" withString:@""];
destViewController.CommitRepoURL = self.commit_url;
NSString *title;
switch (selectedRow) {
case 0:
title = @"Spring-Integration-in-Action";
break;
case 1:
title = @"spring-data-jdbc-ext";
break;
case 2:
title = @"spring-data-commons";
break;
case 3:
title = @"spring-data-graph";
break;
default:
title = @"spring-data-document-examples";
break;
}
destViewController.navigationItem.title = title;
}发布于 2017-04-02 14:42:23
您可以尝试将第二个if else更改为以下内容,它将优化代码行和易读性。
NSString *url = repoCommit_url;
self.commit_url = url;
destViewController.CommitRepoURL = self.commit_url;
if (indexPath.row == 0) {
destViewController.navigationItem.title = @"Spring-Integration-in-Action";
}else if (indexPath.row == 1){
destViewController.navigationItem.title = @"spring-data-jdbc-ext";
}else if (indexPath.row == 2){
destViewController.navigationItem.title = @"spring-data-commons";
}else if (indexPath.row == 3){
destViewController.navigationItem.title = @"spring-data-graph";
}else{
destViewController.navigationItem.title = @"spring-data-document-examples";
}https://stackoverflow.com/questions/43169505
复制相似问题