質問: true } } } ```
回答: Xcodeで、`@IBOutlet weak var startPauseOutlets: UIButton`の左にある○か白丸になっていませんか? Xcodeでstartとpauseが切り替わるインターフェース設計画面を開き、右上の○が2つ繋がったようなボタンを押し、左側の画面にユーザーインターフェース、右側に対応するソースコードの2画面構成にして下さい。 次に`@IBOutlet weak var startPauseOutlets: UIButton`の左の○を右クリックし、そのままstart/pauseボタンまでドラッグし、start/pauseボタンの色が変わったところでマウスボタンから手を離します。 すると、`@IBOutlet weak var startPauseOutlets: UIButton`の横の◯の中に黒い●が描かれた二重丸になると思います。 この状態でプログラムをもう一度ステップ実行してみてください。 `@IBOutlet`というキーワードは、ユーザーインターフェース部品を参照するよという宣言だけなので、どのユーザーインターフェース部品を参照するか?は、 * 宣言の横の○から参照したいユーザーインターフェース部品と右クリックからのドラッグで接続指定する * ユーザーインターフェース部品を右クリックでソースコードまでドラッグし、この部品をどんな変数名でソースコードから参照するか指定する のどちらかを行わないと、宣言しただけで値は自動では入ってくれません。 `startPauseOutlets`という変数の値が`nil`であると言うことから原因を推測してみましたので、確認してみて下さい。 最後になりますが、一番大事な情報は`startPauseOutlets`という変数の値が`nil`であると言うことで、アプリケーションを操作した結果何が起きたかを質問に追記するよりも、 デバッグ中に`startPauseOutlets`の中身が`nil`である事の方がプログラミングとしては大事ですので、質問は出来たアプリケーションを操作したが「どう言う風にしか動かない」よりも どういうデバッグを行い、原因らしいところが見つかったがどうすればその原因を解消出来るのか? という観点から質問して下さると、答えが集まりやすく、より適切なアドバイスがもらえると思います。