美文网首页
objc swift混编 block参数类型转换错乱

objc swift混编 block参数类型转换错乱

作者: 王德夫 | 来源:发表于2020-03-25 10:50 被阅读0次

错误提示:Initializer for conditional binding must have Optional type, not 'String'

- (void)getHTML:(callBack)block;

self.getHTML 是objc方法 返回的是带参数的block

typedefvoid(^callBack)(NSString*html);

参数是nsstting类型,自动被转换为了string?类型,解包时需要用标准解包写法,先规定解包结果类型,再使用强制解包,否则会出现result类型转换错乱

self.getHTML{ (result)in

            //debugPrint(result)

            letres :String= result!

            self.html=self.getFullHtml(content: res)

            self.callbackCellUpdate?()

            self.navigationController?.popViewController(animated:true)

        }

也可以使用这种写法: result?.utf8

相关文章

  • objc swift混编 block参数类型转换错乱

    错误提示:Initializer for conditional binding must have Option...

  • SEL是什么?IMP是什么?两者有什么联系?

    SELobjc_msgSend函数第二个参数类型为SEL,它是selector在Objc中的表示类型(Swift中...

  • 简述Block底层

    Block底层解析 block编译转换结构 对其执行clang -rewrite-objc编译转换成C++实现,得...

  • swift与objc混编

    1、在原来objc的项目中增加swift文件,Xcode会询问是否配置objc的桥接头文件,默认点击“Create...

  • OC与Swift混编

    OC与Swift混编 一.objectivec与Swift相互调用对照 OC interface文件如下 转换后对...

  • 9 Block详解

    1.明白如何定义block类型 定义Block类型: typedef 返回值类型 Block名字 参数 block...

  • block的使用

    定义block 返回类型 (^block名称)(参数) = ^(){block内容}; 调用block block...

  • block常见用法整理(译)

    1.作为本地变量的block: 返回值类型 ^(block名称 (参数类型) = ^返回值类型(参数) {bloc...

  • Swift中@objc的使用

    Swift中@objc的使用 在Swift代码中,使用@objc修饰后的类型,可以直接供Objective-C调用...

  • 初学block(一)

    block语法:返回值类型 (^block名称)(参数名1 参数,参数名2 参数, ...) = ^(参数名1 参...

网友评论

      本文标题:objc swift混编 block参数类型转换错乱

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