我会再试一次。我需要帮助以使用向下钻取表视图获得第三个选项。就在它现在,应用程序运行时应用程序显示表中的所有三个,但是当点击第二个或第三个时,它将仅显示第三个的视图。我在.plist上阅读了一些教程但我想知道是否可以使用为所有三个条件设置来完成它。这是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == 0)
[details setContent:arrAutoLock];
/*(indexPath.row == 1)
[details setContent:arrPasscodeLock];*/
else
[details setContent:arrRestrictions];
[[self navigationController] pushViewController:details animated:YES];
答案 0 :(得分:0)
我首先在你的不同条件下用括号括起来。我总是使用括号,但如果你有多行,则需要它们:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == 0) {
[details setContent:arrAutoLock];
} else {
[details setContent:arrRestrictions];
[[self navigationController] pushViewController:details animated:YES];
}
由于您有三个选择,因此您希望所有三个选择都有不同的行为:
if (indexPath.row == 0) {
// handle first row here
} else if (indexPath.row == 1) {
// handle second row here
} else {
// handle third row here
}
或者你可以使用switch语句:
switch (indexPath.row) {
case 0:
// handle first row here
break;
case 1:
// handle second row here
break;
case 2:
// handle third row here
break;
}
答案 1 :(得分:0)
您在问题中使用的字词没有意义。你需要澄清你的意思。你说“钻取表视图”。那是什么意思?表格视图不会向下钻取。您可以使用表视图来选择行并将新视图控制器推送到导航堆栈上,这是一个“向下钻取”,但“向下钻取表视图”是非感性的。
你继续说“应用程序显示表中的所有三个......”,这三个是什么?这三排?这三个部分?然后你说“当点击第二个或第三个时,它只会显示第三个的视图”。它是什么”。您是将新视图控制器推送到导航堆栈还是将新视图添加到视图层次结构中。视图和视图控制器是不同的东西?
最后,.plist教程与这些内容有什么关系?再次,它非感性。
我的猜测是你是非英语母语人士,所以这是你的主要挑战。如果你能澄清你想做什么,它将使你更容易帮助你。
致以最诚挚的问候,