Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 基于tableview选择加载特定NIB_Iphone_Objective C_Xcode_Uitableview_Nib - Fatal编程技术网

Iphone 基于tableview选择加载特定NIB

Iphone 基于tableview选择加载特定NIB,iphone,objective-c,xcode,uitableview,nib,Iphone,Objective C,Xcode,Uitableview,Nib,我有一个初始的表格视图,它是我在应用程序中创建的初始菜单。显然,每个选项将访问不同的内容,包括NIB。菜单选项的部分常量是NIB。当从PLIST中提取每个选项时,我还包括希望调用的NIB 我是错过了什么,还是完全走错了路 现在,选择不起任何作用 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSMutableString *targetnib = [[s

我有一个初始的表格视图,它是我在应用程序中创建的初始菜单。显然,每个选项将访问不同的内容,包括NIB。菜单选项的部分常量是NIB。当从PLIST中提取每个选项时,我还包括希望调用的NIB

我是错过了什么,还是完全走错了路

现在,选择不起任何作用

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

NSMutableString *targetnib = [[self.menuoptions objectAtIndex:indexPath.row] objectForKey:NIB_KEY];
if (targetnib == @"HospitalDirectoryViewController") {
    HospitalDirectoryViewController *hospitalDirectoryViewController = [[HospitalDirectoryViewController alloc] initWithNibName:@"HospitalDirectoryViewController" bundle:nil];
    // ...
    // Pass the selected object to the new view controller.
    [self.navigationController pushViewController:hospitalDirectoryViewController animated:YES];
    [hospitalDirectoryViewController release];
}
if (targetnib == @"PhysicianDirectoryViewController") {
PhysicianDirectoryViewController *physicianDirectoryViewController = [[PhysicianDirectoryViewController alloc] initWithNibName:@"PhysicianDirectoryViewController" bundle:nil];
 // ...
 // Pass the selected object to the new view controller.
 [self.navigationController pushViewController:physicianDirectoryViewController animated:YES];
 [physicianDirectoryViewController release];
}

}

尝试使用[targetnib IsequalString:@TheNibName]。在您发布的代码中,您是在比较指针,而不是文本。

这很有意义。然而,由于它是预期的,并且我尝试了[targetnib IsequalString:@DirectoryViewController],因此我收到一个可能不响应的警告,它在运行时崩溃。因此,这似乎是正确的方法,我仍然在某个地方弄乱语法。也许您只是在注释中键入了错误的内容,但请确保您键入的选择器是isEqualToString:而不是isEqualToString:。此外。。。您将其作为NSMutableString而不是NSString键入有什么具体原因吗?NSMutableString将安全地强制转换为NSString,但反之亦然。如果您确实希望字符串可变,则需要制作可变副本。我将其改回NSString。我不知道为什么我会这么做。大小写isEqualtoString-->isEqualtoString的更改修复了它。这些小小的疏忽让我抓狂。