访问Objective-C Nserror ** Swift中的方法

发布于 2025-01-23 03:46:06 字数 706 浏览 5 评论 0原文

OBJC方法:- (id)ObjectFromData:(nsdata *)数据错误:( nsError *__ autoreElealealeing *)错误

swift translated方法:func object(来自数据:数据:数据!)任何

我都在称此翻译后通过,请尝试在Swift中捕捉。 OBJC的实现“ objectfromdata”是

    -(id)objectFromData:(NSData *)data error:(NSError *__autoreleasing *)error
    {
        *error = [NSError errorWithText:@"Unable to get Data, Please try later"];
        return @"testing";
    }

我正在

let objCVar : ParserBase = ParserBase()
do {
    try objCVar.object(from: data)
} catch {
    print("Catched ObjC Error")
}

访问错误的访问。请指导如何在上述情况下获得OBJC NSERROR。

注意:由于企业的应用程序范围,我无法使用更改OBJC方法来“无效”方法来避免投掷翻译。

ObjC method: -(id)objectFromData:(NSData *)data error:(NSError *__autoreleasing *)error

Swift translated Method: func object(from data: Data!) throws -> Any

I am calling this translated func VIA do try Catch in swift. objC implementation of 'objectFromData' is

    -(id)objectFromData:(NSData *)data error:(NSError *__autoreleasing *)error
    {
        *error = [NSError errorWithText:@"Unable to get Data, Please try later"];
        return @"testing";
    }

I am accessing like

let objCVar : ParserBase = ParserBase()
do {
    try objCVar.object(from: data)
} catch {
    print("Catched ObjC Error")
}

Error is not catched this way. Please guide how to get objc NSerror in above case.

Note: I can't use change objC method to 'Void' method to avoid throws translation because of enterprise scope of application.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文