Objective-C を使ってからしばらく経ちました (そして、Swift は初めてです) ので、ご容赦ください。ただし、まったく意味をなさない、または Apple のドキュメントと完全に矛盾する「nullability アノテーション」がいくつかあることに気付きました。NSURL
たとえば、次のクラス メソッドを使用します。
+ (instancetype)URLByResolvingBookmarkData:(NSData *)bookmarkData
options:(NSURLBookmarkResolutionOptions)options
relativeToURL:(NSURL *)relativeURL
bookmarkDataIsStale:(BOOL *)isStale
error:(NSError * _Nullable *)error;
パラメータに注釈が追加されていることに気付くでしょう。error
したがって、このメソッドには注釈が付けられていると想定する必要がありますよね?
その場合、relativeToURL
パラメーターには null 可能性アノテーションが追加されていないため、 null 可能ではないと想定することもできます。
私は実際、Objective-C の新しい nullability アノテーションを理解していますか?
もしそうなら、なぜrelativeURL
具体的な状態のドキュメントを行うのですか(太字の書式は私のものです):
アプリ スコープのブックマークを解決するには、nilの値を使用します。
新しい注釈の背後にある理由は理解できますが、既存のクラスとのヒットやミスが多すぎて、その良さがよくわかりません。何か不足していますか?