java - J2ObjC:将 @Nullable 转换为 __nullable

标签 java objective-c swift j2objc

我试图将 Java 可空性注释转换为 Objective-C 以在 Swift 中获取可选值,但没有任何反应,方法的签名保持不变。

这是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;

我想要这个签名罪 Swift:

class func getFormattedUserId(userId: String?) -> String?

我做错了什么?

非常感谢。

最佳答案

@tball 评论中的答案是正确的,它可以使用最新源而不是最新版本添加 --nullability 标志。

更多信息here .

谢谢汤姆。

关于java - J2ObjC:将 @Nullable 转换为 __nullable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34724915/

相关文章:

objective-c - 执行选择器 :withObject:afterDelay: not working in a NSPanel?

ios - 在 Parse iOS 中更新对象

ios - 为什么需要在公共(public)访问控制 viewController 中重写 viewDidLoad 之前设置 public

java - 当对话框居中时,首先出现在左上角几毫秒

java - 关于阻塞同步集合

java - Mockito 对象不是声明类的实例

iphone - 编译器无法识别类的存在,即使在导入 header 之后也是如此

objective-c - -initWithContentsOfFile : for an NSMutableArray

java - 载每个人的最少船数

swift - 如果 TouchLocation 不在范围内