zoukankan      html  css  js  c++  java
  • objective-c工程使用swift

    原文  http://blog.csdn.net/xuanwenchao/article/details/30226823

    1. 我们添加swift类到现有的objective-c工程中。CMD+N 如下所示 

    2.点Next后 输入sfLoginView 语言选择swift

    3.点Next后 会弹出堤示,是否创建桥接文件,只有第一次创建时才会出现, 创建第二个类时如果之前已经创建就不会有提示了, 该文件被用来在swift中使用objective-c的类时,引入头文件。

    4.点击 YES后就创建了两个文件,如下图所示,我的工程名叫SePass,生成的桥接文件叫SePass-Bridging-Header.h

    5.打开sfLoginView.swift文件,创建一个我们的swift类,当然你也可以使用playground文件来编辑后再copy到swift文件中。

    6. 现在假设我们需要在swift中使用一个objective-c的一个类,叫GTMBase64, 此时我们只要打开刚才生成的 桥接文件SePass-Bridging-Header.h 在里面引用我们想要的头文件(#import "GTMBase64.h")。

    7. 引用头文件后,就可以直接用该类了。

             var imageData: NSData = GTMBase64 .decodeString( g_DataImageKey )

    8. 现在我们用swift编写的类 sfLoginView已经完成了,接下来我们要在现有的objective-c中引用我们的swift编写的类了, 因为swift类自己没有头文件,我们无法直接import过来, 所以我们要帮助他生成一个可以引用的头文件,点工程文件->选targets -> BuildingSettings -> Product Module Name 我们输入whatwhatwhat 

    9. 此时XCode会生成一个头文件,whatwhatwhat-swift.h 我们只在要需要使用sfLoginView的oc.m文件中引用这个头文件后,就可以使用sfLoginView类了

      #import "whatwhatwhat-swift.h"

    10. 我们再来看下人whatwhatwhat-swift.h中是什么内容

    看来是系统帮助我们生成了, 对应swift类的objective-c的类实现方式

    11.下面是官方说明, 一旦你导入swift代码到你的工程后,你就可以使用标准ocjective-c来操作swift类

  • 相关阅读:
    LeetCode——Generate Parentheses
    LeetCode——Best Time to Buy and Sell Stock IV
    LeetCode——Best Time to Buy and Sell Stock III
    LeetCode——Best Time to Buy and Sell Stock
    LeetCode——Find Minimum in Rotated Sorted Array
    Mahout实现基于用户的协同过滤算法
    使用Java对文件进行解压缩
    LeetCode——Convert Sorted Array to Binary Search Tree
    LeetCode——Missing Number
    LeetCode——Integer to Roman
  • 原文地址:https://www.cnblogs.com/swallow37/p/4281692.html
Copyright © 2011-2022 走看看