美文网首页
OC-Swift混编(OC引Swift文件和方法)

OC-Swift混编(OC引Swift文件和方法)

作者: 春田花花幼儿园 | 来源:发表于2019-01-30 11:24 被阅读18次

    前话

    这两天在搞🐒测试,需要在我们的OC项目中引用SwiftMonkeyPaws来显示出猴子的爪子。虽然OC中引Swift混编老生常谈,但是你自己搜索一圈之后发现,基本没文章能直接让你顺利引用并且开发。

    大体分成两步:

    1. 创建Swift文件, 然后引用文件
    2. 引用Swift文件中的方法、属性

    一.创建Swift文件, 然后引用文件

    这一步比较简单,《IOS开发之OC-Switf 混编 -(OC 引 Swift 文件)》这篇文章很简明的说明了步骤。

    需要提一下的是:

    1. Swift中我们自己创建普通文件, 比如Person.swift,在使用的时候,不需要想OC中那样先引用(类似这样import 'Person.swift')一下,直接使用即可。只有额外使用其他模块才需要引用,比如说import UIKit.

    2. 需要混编的类,要添加@objc声明或继承NSObject或NSObject的子类。
      比如:

      class MonkeyUIPaws: NSObject 
      {
      }
      
      @objc class MonkeyUIPaws
      {
      }
      
      
      

    二.引用Swift文件中的方法、属性

    在前边的文章中,你仅仅能创建出文件,但是使用Swift的文件中的方法或者属性会不出现自动提示。 解决办法是你需要在对应的方法前边也加上@objc,编译一下,然后又自动提示,比如:

    class MonkeyUIPaws: NSObject 
    {
        @objc var paws: MonkeyPaws?
            
        @objc func showMonkeyPawsINUITest ( window: UIWindow ) -> () {
            paws = MonkeyPaws(view: window)    
        }
    
         @objc class func test() -> () {
            print("test")
        }
    }
    

    交流


    希望能和大家交流技术
    Blog:http://www.lilongcnc.cc


    相关文章

      网友评论

          本文标题:OC-Swift混编(OC引Swift文件和方法)

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