別のviewControllerからセグエを起動しようとしています: したがって、通常、セグエはTVCのセルをタップすることで起動されます。ただし、アプリを初めて起動するときは、ユーザーがいくつかの構成をセットアップする必要があります。
アプリが表示する最初のviewController(TVCでもある)からこのセグエを起動しようとしています。そこで、SettingsTVC (セグエがある場所) にパブリック メソッドを作成しました。このメソッドの実装は次のとおりです。
-(void)setStuff{
[self performSegueWithIdentifier:@"setStuffFromSettings" sender:self];
}
最初のviewControllerで、ボタンをクリックすると次のようになります。
[self.tabBarController setSelectedIndex:4];
SettingsTVC *settings=[[SettingsTVC alloc]init];
[settings setStuff];
NSLogs によると、メソッドは正しく呼び出されますが、アプリがクラッシュして次のように通知されます。
'Receiver (<SettingsTVC: 0x812d730>) has no segue with identifier 'setStuffFromSettings''
期待しすぎたかな。別のセグエを設定することはできません。これは、物事が非常に複雑になり、viewController に複数の場所からアクセスできるようにしたくないためです (Apple もそれを好まないと思います)。
何か案は?前もって感謝します!