これは本当に奇妙です...
アプリを実行すると、アプリが開いていてビューが構築されている間に、次のようになります。
Collection <CALayerArray: 0x124650> was mutated while being enumerated.
コードトレースは次のようになります。
main
UIApplicationMain
-[UIApplication _run]
CFRunLoopRunInMode
CFRunLoopRunSpecific
_UIApplicationHandleEvent
-[UIApplication sendEvent:]
-[UIApplication handleEvent:withNewEvent:]
-[UIApplication _runWithURL:sourceBundleID:]
-[UIApplication _performInitilizationWithURL:sourceBundleID:]
-[AppDelegate applicationDidFinishLaunching:]
+[Controller initializeController] //This is my own function
[window addSubview: pauseMenuController.view] //This is the last point of my code it goes through
-[UIView(Hierarchy) addSubview:]
-[UIView(Internal) _addSubview:positioned:relativeTo:]
-[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:]
-[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]
-[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]
_NSFastEnumerationMutationHandler
objc_exception_throw
私はゲームを何度も何度も実行しましたが、これを見たことがありませんでしたが、突然ポップアップしました。奇妙なことに、このコードがすべて呼び出されるまで、他のスレッド(私が知っている)を作成していません。UIViewでアクセスしているときに変更される可能性のあるものについて誰かが説明してくれれば、これをデバッグするのが簡単になります。すでに何かを追加しているときに、ビューに何かを追加することと関係がありますか?何か案は?