2013-02-15 115 views
0

由於我使用的是Tapku日曆,我想在按下日期時觸發手動繼續。所以我實例化我想繼續使用的視圖控制器,繼續,然後執行繼續。問題解決繼續

DisplayScheduleViewController *vc = [[DisplayScheduleViewController alloc] init]; 

mySegue = [[UIStoryboardSegue alloc] initWithIdentifier:@"Day G" source:self destination:vc]; 

[self performSegueWithIdentifier:@"Day G" sender:self]; 

} 

但是,該程序崩潰一旦日期被按下,這是異常消息:

終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因:「接收器()具有標識符沒有SEGUE」日G「」

也運行的程序我得到情節板中的此警告消息之前:通過

場景是不可達由於缺少入口點,並且不具有運行時的訪問標識符-instantiateViewController WithIdentifier :.

你知道如何使它工作嗎?

感謝

+0

你已經有了一個在故事板上連接到DisplayScheduleViewController的segue嗎? – rdelmar 2013-02-15 03:35:20

+0

我不能有一個塞格,因爲我從一個tapku日曆的細胞中尋找。這就是爲什麼我必須手動繼續。你知道如何正確地做到這一點嗎? – user1601259 2013-02-15 04:55:44

+0

你現在在故事板上有什麼嗎?如果是這樣,什麼? – rdelmar 2013-02-15 05:20:46

回答

0

此警告:

Scene is unreachable due to lack of entry points and does not have an identifier for runtime access via -instantiateViewControllerWithIdentifier:. 

意味着你沒有啓動VC。我猜這也造成了賽格問題。它看起來像你正在實例化一個VC並從上面的代碼發射一個segue,但是你實際上是否在上面的代碼中使用VC?

我建議你添加的ViewController直接在故事板(圖形),只是改變它的類 - 在這裏是一個標準的過程,但你可以開始根據你在你的項目中,

  1. 啓動新項目,只需選擇模板「單一視圖應用程序」
  2. 轉到您項目的故事版
  3. 打開實用程序菜單(右)。
  4. 從實用程序菜單底部的列表中拖動第二個視圖控制器對象,並將其拖動到故事板 - 現在您將擁有2個視圖控制器(與模板一起提供的視圖控制器 - 將自動指定爲入口點 - 你添加新的)
  5. 選擇在你的故事板
  6. 轉到加入到實用菜單
  7. 更改類第二VC對你的類名的「身份檢查」第二個視圖控制器。現在你有2個視圖控制器
  8. 現在你已經在故事板中創建了2個VC。
  9. 現在你可以在第一個VC代碼中包含你的代碼。

希望這有助於

+0

是的,我正在從VC發射我的代碼。基本上我是在第一個VC中實例化第二個VC。我已經完成了步驟1-9並在故事板中創建了兩個視圖控制器。你還有其他建議嗎? – user1601259 2013-02-15 04:54:18

4

這裏是如何在故事板連線了賽格瑞並從代碼中調用它:

  1. 創建故事板兩個視圖控制器。
  2. 控制從源場景中的視圖控制器圖標拖動到目標場景。
  3. 選擇合適的segue類型。
  4. 在檢查員中,爲segue分配一個標識符。
  5. 在運行時,從所述源視圖控制器,調用

    [自performSegueWithIdentifier:<#標識符#>發送方:無];

  6. 覆蓋 - [UIViewController中prepareForSegue:發件人:]在源視圖控制器到源和目的地控制器之間通過的狀態。

順便說一句,與 - [UIStoryboardSegue initWithIdentifier:源:目的地:]的方法是存在的時候創建自定義塞格斯子類,將從故事板實例化您覆蓋。直接創建故事板segue實例不適用。

0

如果你不能建立在故事板一SEGUE,你最好的機會可能是建立一個新的廈門國際銀行(Storybards外),在廈門國際銀行設計你的ViewController,然後通過UIViewController的 initWithNibName: bundle: 實例化VC然後,您可以使用presentViewController: animated: completion:呈現您的vc。 如果您不確定如何使用這些方法,請查看UIViewController的文檔,但是我發現它們很容易理解。

僅效果很好,如果你可以在故事板設置它們,並且據我所知使用塞格斯,他們是沒有它幾乎無用。

BTW:該警告你得到只是意味着,VC,您已probabaly成立於故事板,沒有一個標識符它被實例化。去那個vc的StoryBoard身份檢查員並在「Storyboard ID」中輸入一個任意名字將會抑制這個。

玩得開心