問題タブ [objective-c-nullability]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 奇妙な CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION 警告
新しいコンパイラ警告を有効にしましたCLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION
。ほとんどの警告は解決できましたが、1 つはマクロに起因するものであり、問題の解決方法がわかりません。
マクロは次のようになります。
次のエラーが表示されます。
null 許容ポインター 'NSString * _Nullable' から null 非許容ポインター型 'NSString * _Nonnull' への暗黙的な変換
マクロを書き直す方法はありますか?
すでに試し__PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS/__PRAGMA_POP_NO_EXTRA_ARG_WARNINGS
ましたが、役に立ちませんでした。
objective-c - 不十分なアノテーションが付けられた Objective-C メソッドの処理?
Objective-C を使ってからしばらく経ちました (そして、Swift は初めてです) ので、ご容赦ください。ただし、まったく意味をなさない、または Apple のドキュメントと完全に矛盾する「nullability アノテーション」がいくつかあることに気付きました。NSURL
たとえば、次のクラス メソッドを使用します。
パラメータに注釈が追加されていることに気付くでしょう。error
したがって、このメソッドには注釈が付けられていると想定する必要がありますよね?
その場合、relativeToURL
パラメーターには null 可能性アノテーションが追加されていないため、 null 可能ではないと想定することもできます。
私は実際、Objective-C の新しい nullability アノテーションを理解していますか?
もしそうなら、なぜrelativeURL
具体的な状態のドキュメントを行うのですか(太字の書式は私のものです):
アプリ スコープのブックマークを解決するには、nilの値を使用します。
新しい注釈の背後にある理由は理解できますが、既存のクラスとのヒットやミスが多すぎて、その良さがよくわかりません。何か不足していますか?
ios - `[UIView initWithFrame:]` の矛盾するドキュメント: nullable または nonnull?
CLANG_ANALYZER_NONNULL
(つまり-Xclang nullability
)を使用すると、「 null 以外の値を返すことが期待される関数から Null が返されます」という結果が得られました。
Xcode 7.3 および iOS 9.3 のドキュメントを使用して確認initWithFrame:
したところ、次のものが返されnil
ます。
しかし、UIView.h はすべてをNS_ASSUME_NONNULL_BEGIN
でカプセル化するため、次のように解釈できます。
なので:
したがって、ドキュメントではそれが であると説明されていnullable
ますが、ヘッダー ファイルでは であると説明されていますnonnull
。どちらを信頼しますか?
私は書くべきですか:
または:
アップデート
Xcode のドキュメントが更新され、次のようになりました。
したがって、これ以上の競合はありません。
objective-c - xcode 7.3.1はnull可能性の警告を表示しません
最近、以前のプロジェクトの 1 つに戻って更新を行いました。Xcode の新しい nullability 機能を使用できると考えていました。次のように、いくつかのプロパティに null 可能性を追加しました。
しかし、このプロパティを使用して配列に値を設定すると、警告が表示されないようです。すべての nullability 警告を取り除くことに関する記事をいくつか見つけましたが、実際には逆の問題があります。これらの警告を Xcode に表示して、適切に対応できるようにしたいのですが、どうにかして可能ですか??
どうも!
更新しました
警告を表示する必要があると思われるコード: