我有一个UITableView,其中包含不同类型的文件和文件夹,右边我设置了一个方法,一旦点击一行就传递给另一个视图控制器。我需要的是,一旦点击一行就会检查行中的文件类型,然后根据它连接到不同的uiviewcontrollers。
我的UiTableView在每个单元格中有两个项目 细胞标签&单元格详细信息文本标签
DetailTextLabel保存主题类型 即文件夹(For Folders)&文件(适用于jpeg。,png。等文件)
我想在didselectrowatindexpath中使用if条件来区分文件和文件夹
答案 0 :(得分:1)
您可以通过检查cell.detailTextLabel.text
的值来执行此操作,如下所示:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *str = cell.detailTextLabel.text;
if ([str isEqualToString:@"Folder"])
{
// Open Folder Detail View. For Example:
FolderViewController* objVC = [[FolderViewController alloc] initWithNibName:@"FolderViewController" bundle:nil];
[self.navigationController pushViewController:objVC animated:YES];
}
else if ([str isEqualToString:@"File"])
{
// Open File Detail View. For Example:
FileViewController* objVC = [[FileViewController alloc] initWithNibName:@"FileViewController" bundle:nil];
[self.navigationController pushViewController:objVC animated:YES];
}
}
答案 1 :(得分:0)
#import "FolderViewController.h"
#import "FileViewController.h"
@interface mainViewController : UIViewController {
FolderViewController *folderViewObj;
FileViewController *fileViewObj;
}
<。>文件中的
- (void)viewDidLoad {
[super viewDidLoad];
folderViewObj = [[FolderViewController alloc] initWithNibName:@"FolderViewController" bundle:nil];
fileViewObj = [[FileViewController alloc] initWithNibName:@"FileViewController" bundle:nil];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell * cell = [tblObj cellForRowAtIndexPath:indexPath];
NSString *lblText = cell.DetailTextLabel.text;
if ([lblText isEqualToString:@"Folder"]) {
[self.navigationController pushViewController:folderViewObj animated:YES];
}
else if ([lblText isEqualToString:@"File"])
{
[self.navigationController pushViewController:fileViewObj animated:YES];
}
}
-(void) dealloc {
[folderViewObj release];
[fileViewObj release];
[super dealloc];
}
使用这种方式,FolderViewController和FileViewController的对象只创建一次,而不是用户可以选择uitableview行。