ストーリーボードアプリケーションがあります。起動時に最初のビューが読み込まれると、メインのバックグラウンドスレッドをインスタンス化するためのこのコードがあり、すべて正常に機能します。
public override void AwakeFromNib()
{
base.AwakeFromNib();
// Perform one-time initialization in this function
// Create and start the main worker thread
MainBackgroundThread = new Thread(new ThreadStart(MainLoop.RunWorker));
MainBackgroundThread.Start();
}
ただし、ユーザーが別のビューに移動してから、セグエを介して最初のビューに戻ると、AwakeFromNib()が再度呼び出されます。一度だけ呼び出されるはずだと思っていました...メインのバックグラウンドスレッドをどこから始めれば、一度だけ開始されるのでしょうか?