【发布时间】:2014-03-24 11:08:42
【问题描述】:
我有一个 tableview 显示我的数组项。 .我用我的故事板将推送样式 segue 连接到 detailviewcontroller 屏幕,但我不想让所有项目都进入 detailviewcontroller,所以我制作了一个这样的控制器;
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if (sender == self.btnEkle) return;
if (sender == self.btnKrediKartlarim) return;
NSString *bankaAdi = [[mainList objectAtIndex:indexPath.row] objectForKey:@"BankaAdi"];
if (bankaAdi.length > 1) {
KartDetay *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"KartDetay"];
[self presentViewController:vc animated:YES completion:nil];
}
如果 bankaAdi.length > 1 我的应用应该去 KartDetay
如果不是我的意思是我的应用程序应该转到 detailviewcontroller
这些代码可以运行,但我的编译器出现错误。
开始/结束外观转换的不平衡调用。
对不起我的英语,我知道我没有清楚地描述自己,但请尝试帮助我。
谢谢!
---更新区域----
首先感谢您的回答。但是它不起作用或者我不能这样做。
1- 我为我的 KartDetay("taksit" segue name) 和我的 DetayEkran("detay" segue name) 创建了 2 个不同的 segues..
2-我用这些代码..
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSIndexPath *indexPath2 = [self.tableView indexPathForSelectedRow];
bankaAdi = [[mainList objectAtIndex:indexPath2.row] objectForKey:@"BankaAdi"];
if (bankaAdi.length > 1)
{
[self performSegueWithIdentifier:@"taksit" sender:nil];
}
else
{
[self performSegueWithIdentifier:@"detay" sender:nil];
}
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"taksit"])
{
//if (sender == self.btnEkle) return;
//if (sender == self.btnKrediKartlarim) return;
KartDetay *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"KartDetay"];
[self presentViewController:vc animated:YES completion:nil];
}
else
{
DetayEkran *detayEkran = [self.storyboard instantiateViewControllerWithIdentifier:@"DetayEkran"];
[self presentViewController:detayEkran animated:YES completion:nil];
}
当我运行我的应用并点击我的第一个单元格时,bankaAdi>1.
应用程序可以进入 KartDetay 屏幕,但我的编译器显示:
开始/结束外观转换的不平衡调用。
再次感谢您的回答。
----ReUpdated Area --- Greg 解决了问题...谢谢 Greg...
我在这些代码上犯了一个巨大的错误,因为我打电话给另一个DetayEkran *detayEkran = [self.storyboard instantiateViewControllerWithIdentifier:@"DetayEkran"];
[self presentViewController:detayEkran animated:YES completion:nil];
在我的 prepareforsegue 方法中。当我删除我的 prepareforsegue 方法中的所有实例化代码时,我的应用程序工作正常......
所以
格雷格代码就像一个魅力。谢谢格雷格!
【问题讨论】:
标签: ios objective-c uitableview uiviewcontroller segue