Java J2ObjC:将@Nullable转换为\uuu Nullable
我试图将Java nullability注释转换为Objective-C,以在Swift中获得可选值,但没有发生任何事情,方法的签名保持不变 以下是Java代码:Java J2ObjC:将@Nullable转换为\uuu Nullable,java,objective-c,swift,j2objc,Java,Objective C,Swift,J2objc,我试图将Java nullability注释转换为Objective-C,以在Swift中获得可选值,但没有发生任何事情,方法的签名保持不变 以下是Java代码: import javax.annotation.Nullable; import com.google.j2objc.annotations.ObjectiveCName; public class UserValidation { @Nullable @ObjectiveCName(value = "getForm
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
标志,使用了最新的源代码,而不是最新的版本
更多信息
谢谢汤姆。你到底是怎么翻译的?大概是某个程序。。。这个程序肯定有选项和配置吗?也许你应该多告诉我们一点你在做什么。j2objc,对不起,我把标签贴上了,但没别的。我编辑了问题。没有包括--nullability标志吗?或者查看.m文件而不是头?$j2objc-q-classpath~/jars/jsr305.jar——nullability UserValidation.java$grep nullable UserValidation.h+(NSString*\uuu nullable)getFormattedUserId:(NSString*\uu nullable)userId;