Xocodeでのデバック手順とコンフリクトの解消
iOSデバック
breakpoint
<1>
①みたい変数の場所にうつ
②po 変数名をlog画面にうつ
③変数の値がわかる
<2>
print(“コメント”)を打って、その関数が実行されたタイミングを見る
<3>
全てのbreak pointのON / OFF
次のbreakpointに飛ぶ
次の行を実行する
ブレイクポイントの左のブラウザで表示できない情報はpo で表示させる
![](https://assets.st-note.com/img/1703553630432-hmZ0xdekfQ.png)
![](https://assets.st-note.com/img/1703553636121-ypSomI0qDr.png)
メモリリーク
メモリリークは,debug graph画面で調べる
炎上マークがある所はリークが起きている
()の数が多い -> 参照が多い -> メモリを多く消費している
-> しかし、参照が多い = 参照循環している = メモリーリークしているではない
[参照が多くても、参照先が多ければ問題ないから]
使用していないのに、参照されているのが、メモリリークに該当する
![](https://assets.st-note.com/img/1703553670763-GskklzvQhW.png?width=800)
コンフリクト対策
Github
エディタで編集して解消は可能
Xcode
devとfeatureがあるとすると
1.Featureブランチに入る
2.devを右クリックして、Merge intoよりdevに差分をmergeさせる
3.コンフリクトが表示されるので、真ん中の赤いボタンより、
優先させる側を選ぶ(left,right,両方)
4.全て解消する
Finder
エディタを使って編集する
SwiftUIのライフサイクル
SwiftUIのViewのライフサイクルは、主にonAppearとonDisappearメソッドを使用してモニタリングされます。以下にSwiftUI Viewの基本的なライフサイクルと呼び出し順序を示します:
Initialization(初期化):
インスタンスが作成されると、init()が呼び出されます。
Body recomposition(ボディ再構築):
Viewのプロパティが変更されると、bodyプロパティが再評価され、新しいViewが生成されます。
onAppear:
Viewが画面に表示されると、onAppearブロックが呼び出されます。これはViewが初めて表示されたときや、再表示されたときにも呼び出されます。
onDisappear:
Viewが画面から非表示になると、onDisappearブロックが呼び出されます。
Geometry reader(ジオメトリ リーダー):
View内でGeometryReaderが使用されている場合、その中のViewがレイアウトされると、GeometryReaderのonAppearとonDisappearが呼び出されます。
Animation(アニメーション):
アニメーションが発生すると、アニメーションの開始時や終了時に、それぞれonAppearとonDisappearが呼び出されることがあります。
State changes(状態の変更):
@Stateプロパティが変更されると、Viewが再評価されます。この際に、再びonAppearとonDisappearが呼び出されることがあります。
Parent View changes(親Viewの変更):
親Viewが変更されると、子ViewのonAppearとonDisappearが呼び出されることがあります。
以上が基本的なライフサイクルの流れです。onAppearとonDisappearは、特定のViewが画面に表示されるかどうかのトリガーとして使用でき、これにより特定のイベントに応じて処理を実行することが可能です。
この記事が気に入ったらサポートをしてみませんか?