Bo2SS

Bo2SS

iOSには何種類の調理法がありますか?どれも美味しいです!(4)

郴州砍肉粉、兄弟なら砍ってみろ


前回iOS の一般的な UI コンポーネントについて話しましたが、もう簡単な UI インターフェースを作成できるようになりましたか?

しかし、実践する過程でバグに遭遇することは避けられませんし、結果が直接予想に合わないこともあります。その場合、デバッグ機能を使用する必要があります!

次に、私たちは《虾票票》があなたを iOS 入門シリーズ(4)- Xcode デバッグに案内します。

![](https://cdn.jsdelivr.net/gh/doubleLLL3/blogImgs@main/img/image-20211009163520530.png)

⚠️:このセクションで紹介されているデバッグのテクニックは、iOS 開発に限定されていません。ほとんどの IDE にはこれらの機能が含まれています。

甘い:ブレークポイント関連#

ブレークポイントの追加#

ブレークポイントを追加するのは簡単です。コードの対応する行番号をクリックするだけです。ブレークポイントを削除するには、ブレークポイントマークを領域からドラッグします。

条件付きブレークポイント#

ブレークポイントを右クリックして「ブレークポイントの編集」を選択し、適切な条件を入力すると、ブレークポイントがトリガーされるのは条件に合致する場合に限られます。

![条件付きブレークポイント](https://cdn.jsdelivr.net/gh/doubleLLL3/blogImgs@main/img/image-20211009163548061.png)

ブレークポイントでの自動実行タスク#

ブレークポイントを右クリックして「ブレークポイントの編集」を選択し、アクションを追加します。たとえば、 p cnt(デバッグコマンドタイプ)のようなものを追加すると、そのブレークポイントを通過するときに cnt 変数が印刷されます。

下のオプションをチェックすると、上記のアクションを実行した後にコードの実行を継続することができます。

ブレークポイントの無視#

ブレークポイントを右クリックして「ブレークポイントの編集」を選択し、赤い枠のように設定すると、ブレークポイントが最初にトリガーされた場合には無視され、2 回目のトリガー時にのみ一時停止します。これは通常、初期化を無視するために使用されます。

例外ブレークポイント#

ブレークポイントナビゲーションバーの左下には、例外タイプのブレークポイントを追加することができます。

例外が発生すると、クラッシュではなく、クラッシュが発生する直前で一時停止され、この時点で呼び出しスタックを明確に表示することができます(次のセクションで説明します)。これにより、クラッシュの原因を特定できます。

シンボルブレークポイント#

ブレークポイントナビゲーションバーの左下には、シンボルタイプのブレークポイントを追加することができます。シンボルを特定のタイプのメソッドに設定することができます。たとえば、 - [UIViewController viewDidLoad] のように設定すると、このクラスメソッドの一般的なブレークポイントが設定され、各呼び出し箇所にブレークポイントを追加する必要はありません。

PS:Xcode 高度なデバッグテクニック、知っていますか? - 簡書

酸っぱい:コールスタックの表示#

ブレークポイントに入ると、現在のコールスタックを表示する方法は3 つあります。

ブレークポイントナビゲーションバー#

ブレークポイントナビゲーションバーには、すべてのスレッドと各スレッドのメソッド呼び出しのコールスタックが表示されます。0 はスタックトップメソッド、つまり現在のメソッドを表し、数字が大きいほど数字が小さいメソッドを呼び出します。

PS:図の 2〜28 の省略されたメソッドは、iOS システムの低レベルの呼び出しです。iOS はオープンソースではないため、低レベルの呼び出しスタックは表示されません。

下部ツールバー#

下部ツールバーのプロジェクト名には、ブレークポイントナビゲーションバーと同じ効果が表示されます。

デバッグエリア#

デバッグエリアでは、 thread backtrace コマンドを入力して現在のコールスタックをテキスト形式で表示することができます。

また、 thread info [i] を使用してスレッド i の基本情報を表示することもできます。

PS:iOS で関数の呼び出しスタックを印刷し、変数がどこで呼び出されているかを確認する - CSDN

辛い:3D ビューヒエラルキーのチェック#

アプリを使用しているときに、下部ツールバーの赤い枠のボタンをクリックすると、現在のアプリのインターフェース(左側のシミュレーターで表示される)の 3D ビューヒエラルキー(右側の 3D 図で表示される)を確認できます。

下部ツールバーの左から右への順番で、ビュー間の距離を調整できます|クリッピングされたコンテンツの表示、制約の表示、ビューモードの変更、背景の変更|2D/3D ビューの選択|ズーム|可視ビューの範囲の調整ができます。

さらに、レイヤーを右クリックして、次の図のようなオプションが表示されます。デバッグナビゲーターで表示をクリックすると、そのレイヤーがすべてのレイヤーの中でどこにあるかを表示し、レイヤーのネスト関係を明確にするのに役立ちます。

![](https://cdn.jsdelivr.net/gh/doubleLLL3/blogImgs@main/img/image-20211009163706720.png)

全体的に言えば、3D ビューヒエラルキーチェックはUI の問題をチェックするのに非常に適しています。


さて、短い時間はいつも短いものです。このエピソードは非常に短くて実用的ですか?特にブレークポイントのいくつかの高度なデバッグテクニック。

👏あなたのお役に立てれば幸いです。コメントでの交流をお待ちしています!

また来週#

《虾票票》アプリをもう一度見てみましょう:

![虾票票 V1.0](https://cdn.jsdelivr.net/gh/doubleLLL3/blogImgs@main/img/%E8%99%BE%E7%A5%A8%E7%A5%A8V1.0.gif-0.0000-25.2300.gif)

UI インターフェース以外にも、次の機能が含まれています:ネットワークから映画データを取得する、プルダウンリフレッシュ、プルアップロード、ローディングインジケーターのインタラクションなど。それらの機能は実装が難しいですか?👀

これらの機能は実装が難しいかもしれませんが、それは重要ではありません。オンラインには多くのオープンソースのサードパーティライブラリがあり、これらの機能をすでに実装しています。私たちはそれらを取得して使用するだけです。


これが次回話す内容です:CocoaPods- iOS 開発のサードパーティライブラリの依存関係管理ツール。

🎺お楽しみに

- 湖南は急速に冷え込んでいるので、寒さを避けるために深センに戻ります🚄

2021年10月9日

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。