噢噢小虫子 2021-01-18 11:00 采纳率: 0%
浏览 263

oc 如何调用swift中的构造方法

oc 如何调用swift中的convenience构造方法,求解答

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 15:34
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Objective-C中,你可以通过以下方式调用Swift中的构造函数:

    [super init];
    

    这将创建一个新的对象,并使用默认的初始化参数。如果你想要覆盖这些默认值,可以这样写:

    [self setProperty1:100]; // 如果你需要设置属性
    self.setProperty2(200); // 同样适用于其他属性
    

    如果你想调用Swift中的构造函数(例如init()),你可能需要使用OC的@objc注解来告诉编译器这个方法是Objective-C的。

    对于convenience方法,Objective-C并没有专门的方法来处理它。但是,你可以在你的Objective-C代码中使用Swift的特性,比如通过继承和封装。例如:

    @interface MyClass : NSObject <NSCoding>
    
    @property (nonatomic, assign) NSInteger property;
    
    - (instancetype)initWithProperty:(NSInteger)property;
    @end
    
    @implementation MyClass
    
    - (instancetype)initWithProperty:(NSInteger)property {
        self = [super init];
        if (self) {
            _property = property;
        }
        return self;
    }
    
    @end
    

    在这个例子中,我们定义了一个MyClass类,它有一个initWithProperty:方法。然后我们在Objective-C代码中使用了@objc注解,告诉编译器这个方法实际上是Objective-C的。

    评论

报告相同问题?

悬赏问题

  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音