我正在尝试将Java可空性注释转换为Objective-C,以在Swift中获得Optionals,但没有任何反应,方法的签名保持不变。
这是Java代码:
import javax.annotation.Nullable;
import com.google.j2objc.annotations.ObjectiveCName;
public class UserValidation {
@Nullable
@ObjectiveCName(value = "getFormattedUserId:")
public static String getFormattedUserId(@Nullable String userId) {}
}
经过翻译后,我得到:
+ (NSString *)getFormattedUserId:(NSString *)userId;
代替:
+ (NSString * __nullable)getFormattedUserId:(NSString * __nullable)userId;
我想要这个签名罪过的斯威夫特:
class func getFormattedUserId(userId: String?) -> String?
我做错了什么?
非常感谢。
最佳答案
@tball的注释中的答案是正确的,它可以在--nullability
标志中添加最新来源,而不是最新版本。
更多信息here。
谢谢汤姆。