我有类方法的代码,让我们说:
+ (NSString*) build:(NSString*) id domain:(NSString*) domain {
return [NSString stringWithFormat:@"https://%@/%@", domain, id];
}
我想将其添加到nullable
注释中:
+ (NSString*) build:(nonnull NSString*) id domain:(nonnull NSString*) domain {
return [NSString stringWithFormat:@"https://%@/%@", domain, id];
}
我知道我们使用Swift API将注册人员转换为Optional的注释,但我发现私人使用它非常有帮助。
例如,如果我使用nil
调用此方法,请执行以下操作:
[Helper build:id domain:nil ]
会抛出警告
Null传递给需要非nill的被调用者......
因此,每个开发人员都知道此方法会收到不可为空的值
我的应用程序应该在iOS 7 +上运行
答案 0 :(得分:0)
你提出了一个很好的观点。我还没有真正看到很多使用注释的Obj-C
代码。但我觉得非常有帮助,尤其是在处理同时包含Swift
和Obj-C
的项目时。我发现你应该结帐真的有用的link!它位于官方Swift
博客上。关于你的限制问题我看到的一件事是:
此功能首先在Xcode 6.3中发布,关键字为__nullable和__nonnull。由于与第三方库的潜在冲突,我们已将Xcode 7中的它们更改为您在此处看到的_Nullable和_Nonnull。但是,为了与Xcode 6.3兼容,我们预定义了宏__nullable和__nonnull以扩展为新名称。
希望这会有所帮助,我也会在此寻找更多的投入!