【问题标题】:Accessing parameterised swift method in ObjC class访问 ObjC 类中的参数化 swift 方法
【发布时间】:2017-04-25 10:29:28
【问题描述】:

Swift 类:

@objc public class XyzClass: NSObject {

    var newlyVar = String()
    func abcd (abc:String?, name:Int) {

    }
    func mymethod(userId:Int32?,startIndex:Int32?, lastIndex:Int32?, m_bankId:Int32?, m_DownPayment:Int32?,m_maxTenure:Int32?, m_salary:Int32?) {

    } 

    func sampleMethod (userId:Int32,startIndex:Int32, lastIndex:Int32, m_bankId:Int32, m_DownPayment:Int32, m_maxTenure:Int32, m_salary:Int32, m_selfemployed:Int32, m_UAENational:Int32, complitionHandler: ( _ success:Bool, _ loans:[Loan]) -> Void){
            complitionHandler(true,[])
    }
}

在 ObjC 类中,我的访问方式为:

LoanParser *lp = [[LoanParser alloc]init];
[lp abcdWithAbc:@"" name:32];

方法 abcd 和变量 newlyVar 可访问,但 mymethodsampleMethod 不可访问。

我在这里遗漏了什么?

我的担心是:Loan 类符合Mappable 协议

【问题讨论】:

    标签: ios objective-c iphone swift


    【解决方案1】:

    Int32? 不能在 Objective-C 中表示。尝试将其更改为Int32

    String 可以表示为可选,因为它转换为一个可以为 nil 的 NSString 对象,因此桥接可以表示没有值。

    【讨论】:

    • 有道理。朋友
    • 更新了问题,添加了一个带有完成处理程序的方法。请看一下
    • 我从 ObjC 访问您的 sampleMethod 没有问题。不过你拼错了completion
    • 它是completionhandler的Loan类参数,确认可映射协议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多