Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。363件1早速質問なのですが、今現在簡単な間違い探しの様なゲームを作成しようとしています。内容としては、正方形を同じ形で色を付けて4つ表示し、1つだけ違う色で表示するというものです。そこでいくつもの問題を作り(赤色、黄色、青など)ランダムに表示させた後に1回選ばれた問題を削除する(配列から削除し、次回から表示させない)用にしたいのですがうまくその問題が削除されずに、また表示されてしまいます。コードは以下になります。コードの問題があると思う所は、「問題をランダムに選んでその後削除する」になります。アイコンの機能をうまく使って、綺麗に成形していただくと読みやすくなります。示されたコードにあるremoveAtIndexが呼ばれている対象は、questioning()メソッドのローカル変数ですので、questioning()メソッドの終了後はなくなってしまいますから、「うまく削除されません」がどういうことを表しているのかよくわかりません。どんな動作を期待したのに、実際の動作はどうだったのか、を記載してください。エラーメッセージやアウトプットがログに残せるのならそちらの記録を示していただくのも解決のお役に立つかもしれません。15:22回答ありがとうございます。読みにくくコードを書いてしまいすみません。newQuestion1は赤い四角の正方形4つを表示しその内の1つを違う色で表示する。newQuestion2は同じ形で青。newQuestion3は黄色です。ランダムで色のついた四角を表示し、赤色の四角の問題が出てきたら、次にその赤色の四角が出ないように削除。次は青か黄色の問題を表示。いった動作にしたいです。今のままだと、その問題が削除されず、同じ問題が何回も選ばれてしまいます。エラーは表示されません。説明が足りない所があると思いますが、よろしくお願いします。票-1いただいたコメントと修正後のご質問に合わせてコードを修正しました。(なかなか難しいことをやろうとしているようなので、正直あなたの意図を理解できている自信はないのですが。[newQuestion,newQuestion2]という宣言をしています。questioning()メソッドを呼ぶたびに毎回毎回全部の問題が入った配列をitemsに設定しなおしているわけです。残りの行でitemsの中の問題を乱数で均一に(厳密に言うと均一ではないのですが、クイズアプリを作るなら全く問題にならない誤差です)選んでいるのですから、同じ問題が何度も出題されることがあっても当然と言うことになります。メソッドが終了した後も状態を覚えさせておきたいのだとしたら、メソッドのローカル変数にそのような状態を入れても意味がありません。コメントにも書きましたようにメソッドのローカル変数というのは、メソッドの実行が終了したら消えてしまいます。(あなたのコードの場合、毎回そのローカル変数に値を入れ直しているので、消えてしまうどころか、「何も削除されていない」ように見えるわけです。)いつ元の状態にリセットするのか、という点はよく考えないといけませんが、そのような状態を表すための変数は、通常インスタンス変数(Swiftならインスタンスプロパティ)にします。Swiftではインスタンス変数の初期化に使う式は特殊なコンテキストで解釈されるので、変数の宣言と変数への値の設定は分けるという(直感からすると)変則的な書き方になります。}}ただし、このコードには問題があります。それはSwiftのメソッドをクロージャーとして使った場合、必ずselfが強参照としてクロージャー内に保持されることで、それをさらにselfのプロパティに放り込んでしまうと、循環参照が生じて、メモリリークの原因になります。回りくどく、「本当にやりたいこと」が見えにくくなってしまうのですが、例えば次のようなコードに書き直す必要があるでしょう。}}少々厄介な問題が絡んでしまいましたが、いかがでしょうか。何かお気付きの点がありましたら、またコメント等でお知らせください。個の銅バッジ大変失礼しました。基礎等をしっかりと学びたいと思います。ご回答ありがとうございます。インスタンスプロパティに書いてみたのですが、ここでエラーが表示されるようになってしまいました。何度も重ねて質問をしてしまい、本当にすみません。お時間がある時でよろしいのでよろしくお願いします。15:28厳しいダメ出しをするのはこのサイトをより良いQAの場所としたいからですので、私的にはご丁寧な謝罪の言葉をいただくよりも、少しでも元のご質問を改善しようと努力していただいたことの方が嬉しいです。その意味でも、回答の方にわかりにくい点や不十分だった点があればどしどしとご指摘いただけると助かります。本題の方ですが、私が提示したコードはnewQuestion1,...をメソッドではなく、グローバル関数と仮定して作成してありましたので、あなたの改善後のコードのようにメソッドだったとすると、ご指摘のような意味不明の(私的には意味不明ではないのですが、説明するとかなり長くなります)エラーが出ることになります。後ほど回答を編集して修正版のコードを掲載しますので、お試しください。15:45ありがとうございます。お時間がある時にいつでもよろしいので、よろしくお願いします。15:54回答あがとうございます。丁寧なコードまで本当にありがとうございます。同じコードでやってみてもエラーになってしまいます。アプリは通常に起動するのですが、タップした時にクラッシュしてしまいます。13:53添付いただいた写真ではEXC_BREAKPOINTと表示されており、2行ほど下にブレークポイントのマーカーがあること、デバッグ領域に変数値が表示されていることなどから、ブレークポイントで停止している状態に見えます。停止している行とブレークポイントのマーカーがずれていますので、何か別の原因で変なことが起こっている可能性もありますが、とりあえずすべてのブレークポイントを削除してクリーンビルドした上で再度おためしください。回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。メール画面を閉じたい。0swiftでのAPI実装について0Swiftでピンクノイズ、ホワイトノイズを作成し再生したい。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。