Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。1,182件0下記の2ページを参考にスワイプで切替えるカレンダーを作成したのですが、CollectionViewCellの選択をうまく解除できません。http://qiita.com/kitanoow/items/65b1418527eabf31e45bhttp://qiita.com/sakuran/items/3c2c9f22cbcbf4aff731実装したいことカレンダーの内容として以下のものを実装したいです。上記の1から3まではなんとか動かせるようになったのですが、問題なのは4番の1画面進んで1画面戻った場合の下記のような挙動です。こんなイメージで、スワイプしたら画面が左右にスクロールするものです。先程の[現在の月]に1画面戻る選択したセルの背景が解除されていない[現在の月]→[次の月]→[次の月]と2画面移動した後に戻る場合には選択が解除されています。1画面進んで、1画面戻る場合には既に生成されたCollectionViewがうまく更新できていないからだとは思うのですが、どのようにすれば解決できるのか分かりません。以下はソースコードです。票0あなたのコードの中で、日付のタップを処理しているのはCalCollectionView.(_:didSelectItemAt:)中のこの部分ですね。それがどのUICollectionViewのindexPath.rowなのかを保存していません。tmpItemID!)の中身は単に現在の月を表すUICollectionView中のセルをリロードしているだけですが、日付が前月を表しているのならtmpItemIDも前月用のUICollectionView中のセルをリロードしないといけないはずです。言うわけで、まずは「選択されている日付」がどのUICollectionViewの中に存在するのかの情報もどこかに保存しておかないといけません。//<-}その上で選択日を保存するところ、保存された選択日を利用するところは適切に書き換えてやらないといけません。上記の部分はこんな感じになるでしょうか。}(Bool値をtrue,falseと比較するなんていうのはあまりにもダサいので書き換えさせていただきました。trueなんて書いていたら変だと思いませんか?)また、今のあなたのコードでは「選択日がない」という状態は作らないようにしているようですが、それだとselCalDayIDをInt?とOptionalにしている意味もないので、if-letを入れています。)他にもselCalDayIDを更新している部分があれば、同じようにしないといけないでしょう。理由は、あなたのCalendarViewではnextMonthViewとprevMonthViewに前月と次月だけのCalCollectionViewを先読みしているので、2ヶ月分移動させることによって確実にCalCollectionViewの再作成が行われるためです。保持していないですよね。boolの判定、お恥ずかしながらその通りです。ご指摘頂いた内容で無事に動作することができました。ありがとうございました。4:28ご報告ありがとうございます。「boolの判定」については、「主観であること丸出し」の表現にしたつもりなので、あまり深くは気にしないでください。致命的ではありませんし、日本の技術者の間では私の方が少数派かもしれません。言うのは覚えておいてください。8:13bool判定は、ご指摘頂いた書き方の方がスマートな書き方だと思います。ご指摘頂いたことが有難いです。ついても、ご教授頂いていなかったら分からないまま使っていたかと思います。最近やっとプログラムについて少しずつ理解できるようになったのですが、まだまだなんとなくでやっている感があるのは否めません。精進していきたいところです。ありがとうございます。いうエラーが出てクラッシュしてしまうことがあります。何かアドバイス頂けますと助かります。現象が再現できるコードがないと確実なことは言えないのですが、「30個しか項目のないsection0で31個目の項目をdeleteしようとしている」と言うエラーですから、何か心当たりはないでしょうか。collectionView(_:numberOfItemsInSection:)は30を返すのに31個目を示すindexPathで何かの操作(deleteは内部操作の可能性があるのでコード上はdelete以外かもしれません)をしているという感じです。その辺りを調べてみて(Xcodeのデバッグ機能は活用できているでしょうか)解決できないようであれば、再現可能なコードを掲載した上で別質問にしていただいた方が良いでしょう。回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。ドロワータイプのメニューライブラリを探しています0swift2.3からswift3.1へのコンバート0objective-cでの初期化をSwiftでの書き方について0Swift3、スワイプでページをめくる際に、両開きできるようにしたい。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。