問題タブ [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.

0 投票する
1 に答える
1613 参照

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ましたが、役に立ちませんでした。

0 投票する
1 に答える
49 参照

objective-c - 不十分なアノテーションが付けられた Objective-C メソッドの処理?

Objective-C を使ってからしばらく経ちました (そして、Swift は初めてです) ので、ご容赦ください。ただし、まったく意味をなさない、または Apple のドキュメントと完全に矛盾する「nullability アノテーション」がいくつかあることに気付きました。NSURLたとえば、次のクラス メソッドを使用します。

パラメータに注釈が追加されていることに気付くでしょう。errorしたがって、このメソッドには注釈が付けられていると想定する必要がありますよね?

その場合、relativeToURLパラメーターには null 可能性アノテーションが追加されていないため、 null 可能ではないと想定することもできます。

私は実際、Objective-C の新しい nullability アノテーションを理解していますか?

もしそうなら、なぜrelativeURL具体的な状態のドキュメントを行うのですか(太字の書式は私のものです):

アプリ スコープのブックマークを解決するには、nilの値を使用します。

新しい注釈の背後にある理由は理解できますが、既存のクラスとのヒットやミスが多すぎて、その良さがよくわかりません。何か不足していますか?

0 投票する
2 に答える
418 参照

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 のドキュメントが更新され、次のようになりました。 initWithFrame: ドキュメント

したがって、これ以上の競合はありません。

0 投票する
1 に答える
72 参照

objective-c - xcode 7.3.1はnull可能性の警告を表示しません

最近、以前のプロジェクトの 1 つに戻って更新を行いました。Xcode の新しい nullability 機能を使用できると考えていました。次のように、いくつかのプロパティに null 可能性を追加しました。

しかし、このプロパティを使用して配列に値を設定すると、警告が表示されないようです。すべての nullability 警告を取り除くことに関する記事をいくつか見つけましたが、実際には逆の問題があります。これらの警告を Xcode に表示して、適切に対応できるようにしたいのですが、どうにかして可能ですか??

どうも!

更新しました

警告を表示する必要があると思われるコード: