問題:在選擇特定的uitableviewcell
時,應該打開一個新的DetailViewController
。我在didSelectRowAtIndexPath
中編寫了代碼,但是當我單擊單元格時,它顯示出運行時錯誤。選擇UITableViewCell導航到新的DetailViewController
我試着用[self.navigationController presentModalViewController:jacket animated:YES ];
打電話,但是當我做我的視圖控制器沒有打開。
我試過的另一種方法是[self.navigationController performSegueWithIdentifier:@"JacketDetails" sender:self ];
。
我在segued中指定標識符在檢查器中有「JacketDetails」,但在這裏我得到一個運行yime錯誤。我把Hooked Segue從UITABLEVIEWCELL
改爲VIEWCONTROLLER
。
當我點擊行JacketDetailViewController
應該打開。我已創建類JacketDetailViewController
和New ViewController
我已經在檢查員中爲此設置了類。
我不知道它爲什麼不顯示segue,我已經在檢查器中給出了標識符,並且正確地將從tableviewcell
掛鉤到新的視圖控制器。
在JacketDetailViewController
我想顯示一個夾克列表。目前它是空白的ViewController
。
我的代碼如下。你能提出一個解決方案嗎?我是這個領域的自學新手。我可能會犯一些小錯誤。我已經Google了我的問題,並試圖解決它,但我一直在這裏呆了幾天。
TshirtDetailViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.
[tableView deselectRowAtIndexPath:indexPath animated:YES ];
JacketDetailController *jacket =[[JacketDetailController alloc]init];
NSInteger index =indexPath.row;
NSLog(@"Row:%d",index);
NSString *titleString = [[NSString alloc] initWithFormat:[jackets objectAtIndex:indexPath.row]];
NSLog(@"%@",titleString);
jacket.title=titleString;
// ...
// Pass the selected object to the new view controller.
[self.navigationController performSegueWithIdentifier:@"JacketDetails" sender:self ];
// [self.navigationController presentModalViewController:jacket animated:YES ];
}
@end
錯誤控制檯:
2013-01-07 10:52:21.020 KidsShopee[617:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<UINavigationController: 0x6a5fac0>) has no segue with identifier 'JacketDetails''
*** First throw call stack:
(0x13bf052 0x1550d0a 0xdd24b 0x3e8e 0xa671d 0xa6952 0x92e86d 0x1393966 0x1393407 0x12f67c0 0x12f5db4 0x12f5ccb 0x12a8879 0x12a893e 0x16a9b 0x1b08 0x1a65 0x1)
terminate called throwing an exception(gdb)
歡迎StackOverflow上。我向你致敬,表示你在這方面做出的堅實的努力。請查看我爲了更好地理解如何格式化代碼塊,內聯代碼和非代碼塊所做的編輯 - 幾乎所有內容都位於代碼塊內。在目前的編輯形式中,我可以(並確實)提出你的問題。以前的方式確實值得讚賞。不要擔心你的英語,但請儘量遵守正常的大寫,標點符號和格式規則。這將幫助你的讀者理解,並會幫助你逃避downvotes! – ErikE
謝謝你的讚美。你知道我試了近25次編輯相同的問題,並正確地解釋它到我的水平最好.. – krish