美文网首页
OC调用Swift便利构造方法

OC调用Swift便利构造方法

作者: follow_er | 来源:发表于2021-09-29 13:50 被阅读0次

问题: OC调用Swift构造方法,自定义参数,我想让day变成可选参数,所以加了问号?,导致objc无法识别,报错' Method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C'

解决:开始认为是Int类型OC无法识别,换了NSInteger也一样的报错,上网也没有搜到相关问题,然后我换成了普通方法进行调用,发现这个类型可以调用,我去掉问号后发现不报错了,OC可以正常识别传递参数,但是不知道想传递'nullable'的参数改怎么调用。

Swift控制器示例代码

class GWPeriodViewController: UIViewController {
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
        self.modalPresentationStyle = .overFullScreen
        self.modalTransitionStyle = .crossDissolve
    }
    
    //@objc public convenience init(days: Int?)无法使用
    @objc public convenience init(days: Int) {
        self.init()
        self.days = days
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

OC调用示例代码

GWPeriodViewController *vc = [[GWPeriodViewController alloc] initWithDays:days];
    [self presentViewController:vc animated:YES completion:nil];

相关文章

  • OC调用Swift便利构造方法

    问题: OC调用Swift构造方法,自定义参数,我想让day变成可选参数,所以加了问号?,导致objc无法识别,报...

  • oc Swift 混编

    oc Swift 混编 oc 项目 混编Swift1.1 oc 调用 Swift 的类 和 方法步骤: ...

  • OC和Swift混编遇到的一些小麻烦

    一. OC中调用swift类中的方法时,编译器有时找不到方法声明 OC调用swift类中的方法,swift类需要有...

  • 构造方法

    构造方法A.指定构造方法;B.便利构造方法; 关系:A.子类的指定构造方法必须调用父类的构造方法;B.便利构造方法...

  • No visible @interface for 'X

    今天研究了一下Swift和OC混编,在OC文件中调用Swift方法时候报错: 解决方法 因为Swift提供给OC的...

  • Swift类与OC类方法相互调用的

    1、OC调用Swift实例方法 例如在ViewController.m类里调用Swift的logMe实例方法,就可...

  • swift学习笔记-OC与swift区别,从OC到swift你可

    创建对象 OC:alloc initWith Swift:(XXX:) 调用方法 OC:[uicolor redc...

  • 便利构造器

    类方法 调用方式 构造方法 便利构造函数(推荐使用)1. convenience开头2. 在构造函数中必须明确调用...

  • oc和swift混编 常见问题

    oc调用Swift,import *-Swift.h后,无法调用Swift的类方法Swift的对应类名前增加 @o...

  • 从OC到Swift

    Swift调用OC类和方法 在工程名-Bridging-Header.h中添加需要调用OC类的头文件.h OC调用...

网友评论

      本文标题:OC调用Swift便利构造方法

      本文链接:https://www.haomeiwen.com/subject/jnrjnltx.html