Step by step swift integration for Xcode Objc-based project:

  1. Create new *.swift file (in Xcode) or add it by using Finder
  2. Add swift bridging empty header if Xcode have not done this before (see 4 below)
  3. Implement your Swift class by using @objc attribute:

    import UIKit
    
    @objc class Hello: NSObject {
    func sayHello() {
    print("Hi there!")
    }
    }
  4. Open Build Settings and check those parameters:
    • Product Module Name : myproject
    • Defines Module : YES
    • Embedded Content Contains Swift : YES
    • Install Objective-C Compatibility Header : YES
    • Objective-C Bridging Header : $(SRCROOT)/Sources/SwiftBridging.h
  5. Import header (which is auto generated by Xcode) in your *.m file

    #import "myproject-Swift.h"
  6. Clean and rebuild your Xcode project
  7. Profit!

OC调用Swift的更多相关文章

  1. OC调用Swift 整理步骤!总结别人的!方便自己查找!

    1. 2. 上面的修改了一个配置项,有一个Product Module Name在后面会使用. 在工程里面点击File/New/File…,选择iOS/Source/Cocoa Touch Class ...

  2. oc调用swift的打包.a / framework 不成功?!

     https://www.jianshu.com/p/734341f7c242   虽说是Swift和OC混编SDK,但目前只支持项目中使用了Swift调用OC的工程,暂不支持OC调用Swift的工程 ...

  3. ios oc调用swift framework

    1.oc 调用swift /*oc调用swift, project name为DeomOC: 1.oc工程DemoOC中显式创建一个swift文件,生成DemoOC-Bridging-Header.h ...

  4. iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包

    本文章将从两个方向分别介绍 OC 与 swift 混编 1. 第一个方向从 swift工程 中引入 oc类 1. 1 如何在swift的类中使用oc类    1.2  如何在swift中实现oc的代理 ...

  5. iOS oc 调用 swift

    如股票oc要调用swift里面的代码 需要包含固定这个头文件 项目名称 LiqunSwiftDemo-Swift.h #ProjectName#-Swift.h 固定的写法 swift 目的 是取代o ...

  6. iOS OC和Swift进行互相调用

    有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用. swift调用oc的方法: 1.桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2 ...

  7. Swift基础之OC文件调用Swift代码(在上次的基础上写的)

    前两天刚写过Swift调用OC,今天在原来的基础上,实现OC调用Swift. 首先,创建一个OneSwiftFile.swift文件,创建一个继承于NSObject的类(这个地方你可以自己选择继承的父 ...

  8. OC与swift相互调用

    一.OC调用swift文件 二.swift调用OC文件 三.注意和总结 添加: 四.自定义桥接文件 一.OC调用swift文件 在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一 ...

  9. OC和Swift进行互相调用

    swift调用oc的方法: 1.桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2.将需要引用的oc文件 .h头文件 添加到桥接类中. 如下: 然后在sw ...

随机推荐

  1. 0_Simple__simpleTemplates + 0_Simple__simpleTemplates_nvrtc

    使用 C++ 的模板 ▶ 源代码:静态使用 // sharedmem.cuh #ifndef _SHAREDMEM_H_ #define _SHAREDMEM_H_ // SharedMemory 的 ...

  2. 视频地址blog加密

    /* JS部分 没处理兼容什么的 */ var id='<?php echo $_GET['id'];?>'; var video = document.getElementById(&q ...

  3. 10.Action中的method属性

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 在struts1.x中我们知道通过继承DispatchAction可以实现把 ...

  4. js中使用cookie

    function setcookie(name, value, expires, path, domain, secure) { var cookieText = encodeURIComponent ...

  5. Spring MVC 视图及视图解析器

    org.springframework.web.servlet.view.InternalResoureceViewResolve 把逻辑视图改为物理视图 可混用多种视图 不进过Handler直接进入 ...

  6. SpringMVC知识(1)

    1.SpringMVC的工作流程 流程 : 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器. ...

  7. vim跳转到指定行

    第一种方法 在编辑模式下(非输入模式)下输入ngg 或者 nGn为指定的行数(如25)25gg或者25G 跳转到第25行. 25gg 第二种方法 在命令模式下输入行号n : n 查看当然光标所在的行和 ...

  8. 迷你MVVM框架 avalonjs 学习教程16、过滤器

    avalon的过滤器是参考自angular与rivets.它也被称做管道文本过滤器,它的处理对象只能是文本(字符串),它只能用在文本绑定中,并且只能是双花括号形式.下面是各大家的过滤器比较: rive ...

  9. hibernate 中一对多的注解配置

    //一方@Entity@Table(name="test_classinfo")public class ClassInfo { @Id @SequenceGenerator(na ...

  10. chrome 调试跨域iframe

    相关链接:https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome https://stacko ...