我已經重複搜索相關答案,但沒有找到(或可能,不明白)任何相關的內容。一些事實:didSelectRowAtIndexPath + performSegueWithIdentifier + modal segue =不能將自己添加爲子視圖
1)我在這方面非常非常新。
2)我正在使用Xcode 5 &針對iOS 7 iPad
3)我試圖添加一個功能(是,死吻)到一個大的,現有的應用程序,由我無法寫的人聯繫
該應用程序有一個分離視圖控制器,鏈接到一個導航控制器,鏈接到一個表視圖(&與原始分割視圖相關的一大堆其他視圖)。 如果用戶選擇的表項具有特定的值,我想打開一個新的視圖(否則讓現有的邏輯處理它)。
我創建了一個新的視圖控制器與模式segue從表視圖。我添加了一個測試到didSelectRowAtIndexPath方法方法:
if([[object name] isEqualToString:@"SpecialCase"]) {
[self performSegueWithIdentifier:@"ScSegue" sender:nil];
}
這個工作至少一次,直到我開始嘗試將信息傳遞給新的視圖。我已經添加:
if ([[segue identifier] isEqualToString:@"ScSegue"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
CBPeripheral *object = _objects[indexPath.row];
[[segue destinationViewController] setDetailItem:object];
}
我已經添加了必要的def/decl setDetailItem()到我的新視圖控制器。我不知道當我這樣做的時候是否破壞了某些東西,但即使我把所有這些都歸還了,當我第一次添加segue時,我仍然會得到「不能將自己添加爲子視圖」。是的,我完成了之間的清潔。
我意識到我可能太不知道要嘗試這樣做,但這是我的工作。我大部分時間都在尋找線索而沒有取得成功,所以我在snarkfest之前對自己謙卑。任何援助將不勝感激。
Hello @GerryO,在你的代碼上放置斷點並逐步調試,然後告訴我哪一行出現異常。 –
你好,謝謝!我應該包括這一點。執行此行時發生錯誤:[self performSegueWithIdentifier:@「ScSegue」sender:nil]; – GerryO