[解決済み] NSAssertって、実は何が言いたいの?
2022-04-27 18:06:05
質問
というのも、これを聞かなければならないのです。アサーションに失敗すると、アプリがクラッシュすることだけは認識しています。NSAssertを使用する理由はそれでしょうか?あるいは、他にどんな利点があるのでしょうか?また、NSAssert をコード内で行うあらゆる仮定(例えば、パラメータとして -1 を受け取ることはないが -0.9 や -1.1 を受け取る可能性がある関数)のすぐ上に置くことは正しいのでしょうか?
どのように解決するのですか?
アサートは、ある値が想定されるものであることを確認するためのものです。もしアサーションが失敗したら、それは何かが間違っていたことを意味するので、アプリは終了します。assertを使う理由のひとつは、渡されたパラメータのひとつがある値(またはある値の範囲)でないと動作しない、または非常に悪い副作用を引き起こす関数がある場合、その値が期待通りのものであることを確認するためにassertを置くことができ、そうでない場合は何かが本当に間違っているので、アプリを終了させることができます。アサートは、デバッグやユニットテストに非常に便利であり、また、ユーザーが邪悪なことをしないようにするためのフレームワークを提供する場合にも役立ちます。
関連
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み] ペン先を読み込んだが、「表示」コンセントが設定されていない
-
[解決済み] Cocoa:フレームとバウンドはどう違うの?
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] 文字列の長さを取得する
-
[解決済み] iOSで画面の幅と高さを取得する方法は?
-
[解決済み】テキストに応じてUILabelの高さを調整する。
-
[解決済み】NSUserDefaultsにカスタムオブジェクトを格納する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
クラッシュエラー libc++abi.dylib: NSException 型のキャッチできない例外で終了_allanGold のブログ - ProgrammerITS401
-
[解決済み] SwiftでStringを配列に分割する?
-
[解決済み] Objective-Cで文字列が空かどうかをテストするにはどうすればよいですか?
-
[解決済み] iOS 8 UITableViewのセパレータインセット0が機能しない件
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] iOSシミュレータでスクリーンショットを撮る
-
[解決済み] SwiftでURLから画像を読み込む/ダウンロードする
-
[解決済み] Swift 3, 4, 5 で dispatch_after GCD を書くにはどうしたらいいですか?
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] swiftで電子メールアドレスを検証する方法は?