当前位置:首页 » 《关注互联网》 » 正文

iOS开发笔记之九十——在OC项目中支持Swift_iOS开发笔记

20 人参与  2021年08月23日 07:23  分类 : 《关注互联网》  评论

点击全文阅读


*****阅读完此文,大概需要5分钟******

这个过程不复杂,但是有些问题遇到了可能就会捣弄很久,特此输出此文,希望可以帮助大家快速解决相应的问题。

一、配置步骤

1、主项目中添加工程名-Bridging-Header.h

这一步可以如其他文章介绍的那样,先添加Test.swift然后,Xcode会提醒你添加对应的-Bridging-Header文件的。

2、配置工程

  • Build Settings设置Defines Module为Yes
  • 设置Podfile,如下:
use_modular_headers!
use_frameworks! :linkage => :static
  • Xcode设置Swift版本为最新

二、注意事项以及可能遇到的问题

1、OC中调用Swift代码

import Foundation
@objcMembers
public class MDSwiftDemoViewController : UIViewController {
    
    public override func viewDidLoad() {
        super.viewDidLoad()
        
        view.backgroundColor = UIColor.white
    }
    func show() {
        print("hello swift...")
    }
}

注意在对应的Swift类前面添加public修饰

如果在OC的调用Swift代码是夸Pod库调用,需要添加对应的引用如下:

#import <SwiftDemoProject/SwiftDemoProject-Swift.h>

2NSClassFromString等使用注意

如果在OC代码中直接NSClassFromString(“MDSwiftDemoViewController”),得到的结果将会是nil。因为在OC中Swift类中的所有类的接口都转到了一个叫Project_Example-swift.h的头文件中,其中的类名和方法实际都已经改变了,已经不是原来的类名了。解决方法如下:

import Foundation
@objc(MDOCSwiftDemoViewController)
@objcMembers
class MDSwiftDemoViewController : UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        view.backgroundColor = UIColor.white
    }
    func show() {
        print("hello swift...")
    }
}

在OC代码中调用MDOCSwiftDemoViewController类即可。

NSClassFromString(“MDOCSwiftDemoViewController”)

3、工程出现”<A/A.h> file not found”报错

参考解决:

检查对于的podspec文件对A的依赖,由于Podfile中配置了static,未添加依赖会导致的头文件引用找不到。

4、遇到  library not found for -lAFNetworking”报错

参考解决:

Build Setting -> Other Linker Flag 中的引用,找到移除之后的框架,删除引用即可

三、参考文档:

https://www.jianshu.com/p/57fedd74763d


点击全文阅读


本文链接:http://zhangshiyu.com/post/25933.html

添加  调用  引用  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • [被退婚后我获赔六个美男]完结_[陆淮川小姐孙子]完结版全文
  • 「以爱为囚,负我残生」后续已完结_[陆沉渊叶清茹]小说章节试读
  • 金丝雀离开后,霸总穷追不舍番外合集提前订‌_姜青黎顾青黎许庭深情感冲突名场面试读章
  • 江梨挽程颂(梨花愿落尘烟起结局+番外)全书在线江梨挽程颂读_(梨花愿落尘烟起结局+番外江梨挽程颂)梨花愿落尘烟起结局+番外列表_笔趣阁(江梨挽程颂)
  • 血色闺蜜情感冲突名场面试读章_「萌萌陈宇老李」隐藏结局
  • 江照璃顾裴延(长叹雁归难留)_江照璃顾裴延列表_笔趣阁(长叹雁归难留)
  • 全文声声思念付与州+后续+结局(程芝裴声方梨)列表_全文声声思念付与州+后续+结局
  • 填我十万八千梦傅沉砚沈昭宜+后续+番外(傅沉砚沈昭宜)_(填我十万八千梦傅沉砚沈昭宜+后续+番外)列表_笔趣阁(傅沉砚沈昭宜)
  • 全书浏览也曾偷藏欢喜全书+后续(乔喜商凛乔雪眠)_也曾偷藏欢喜全书+后续(乔喜商凛乔雪眠)全书结局
  • 全书浏览途径一场风月现已上架(宋泠音商予淮)_途径一场风月现已上架(宋泠音商予淮)全书结局
  • [重回八零,不要大学生要竹马]番外合集提前订‌_鞠正青小倩弟弟后续完结版
  • (番外)+(全书)池念谢宴清(画地为牢+后续+结局)_池念谢宴清免费列表_笔趣阁(画地为牢+后续+结局)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1