2016-06-01 26 views
1

私は私のストーリーボードの2つのViewControllerの間にショーセグを持っています。コールperformSegueWithIdentifier:は、私が取得する場合NSInvalidArgumentExceptionストーリーボードはSegueが存在しないと考えています。しかしそれはあります

Receiver (<[MY VIEWCONTROLLER SUBCLASS]: 0x7fc9e99f0640>) has no segue with identifier 'HomeToSettings'' 

セグエは間違いなく存在し、接続されており、正常に動作同一生成元のViewController上の他の多くのseguesがあります。ストーリーボードのソースコードで

、セグエはちょうど、すべての作業のもののように現れます:

<connections> 
<outlet property="notificationsButton" destination="hG9-8E-sv6" id="mn0-1x-Qxj"/> 
<outlet property="settingsButton" destination="Fy0-au-d6J" id="r1c-fG-KOP"/> 
<outlet property="tableView" destination="9bJ-Cd-hc3" id="Wuy-hJ-QVU"/> 
<segue destination="ad8-yH-D5h" kind="show" identifier="HomeToCreateList" id="bsg-J2-Gp3"/> 
//More segues... 
<segue destination="pNX-Jw-wau" kind="show" identifier="HomeToNotifications" id="B2t-BE-YpW"/> 
<segue destination="xge-ah-WXM" kind="show" identifier="HomeToSettings" id="nTa-qO-SCb"/> 
</connections> 

私が試してみました:

  • は、ストーリーボード
  • 削除の名前を変更し、再作成segue
  • セグの名前を変更する
  • プロジェクトをクリーニングする
  • シミュレータでアプリ
  • リセットコンテンツと設定を再インストール
  • 物理デバイス、それは何らかの形で重要な場合

XcodeとiOSの6月1日、2016年

のよう最新です、私は、UIBarButtonItemに添付されたIBActionを介してセグをトリガーしています。しかし、別のUIBarButtonItemから別のViewControllerへの別のセグが完全に機能します。

私はセグエを呼んでいるこれで正確なラインがある:私は本当にここに迷ってしまいました

[self performSegueWithIdentifier:@"HomeToSettings" sender:self]; 

。例えば

+0

を助けることを願っていますが、あなたがチェックしましたか? – dasdom

+0

どうすればいいですか? –

+0

インタフェースビルダーに入ります。一番下には「Any:Any」という言葉があります。テストしているサイズクラスに変更し、segueがまだ存在するかどうかを確認します。ところで、Interface Builderはいくつかの理由で悪いです。コードでUIを作成する必要があります。 – dasdom

答えて

1

あなたはVC-A to VC-BからHomeToSettingsという名前show segueその後、あなただけのだけVC-Aから[self performSegueWithIdentifier:@"HomeToSettings" sender:self];を呼び出すことができますがあります。

他のコントローラからコールしようとすると、エラーが発生します。

は、私はちょうどあなたの声明[self performSegueWithIdentifier:@"HomeToSettings" sender:self];をコピーして、私はあなたのHomeToSettings文字列のH前に1つの奇妙な文字を見つけました。

キーボードやバックスペースの左矢印キーで確認できます。

文字はどこでもあなたはこの識別子を設定し、そこからそれを削除し、そう

enter image description here

のように見えます。

以下のステートメントから識別子をコピーし、それを使用してインタフェースビルダーで設定し、以下のステートメントを使用してsegueを実行します。

[self performSegueWithIdentifier:@"HomeToSettings" sender:self]; 

セグエは、あなたがテストしているサイズのクラスで利用可能な場合、これは:)

+0

あなたは絶対に正しいです。冒頭には非ASCII文字のDLEがありました。それがどうやって得たのか分かりませんが、私を助けました! –

+0

うん男...... :) – Lion

関連する問題