
新建swift项目 新建Swift、OC类文件Swift经过四年的发展已经趋于成熟,是时候学一下了,感谢公司swift大佬的不吝赐教。心有所感记录一下,如有不足欢迎指正批评。
可在新建OC文件时,建立桥接头文件,也可以自己新建桥接头文件。
1.创建头文件: headerfileForSwiftAndOC.h
2.找到路径: 项目target -> BulID Settings -> Objective-C BrIDging header
3.填写:$(SWIFT_MODulE_name)/headerfileForSwiftAndOC.h
Occlass.h
#import <Foundation/Foundation.h>@interface Occlass : NSObject- (voID)ocFunction:(Nsstring *)str;@end
Occlass.m
#import "Occlass.h"#import "SwiftAndOC-Swift.h"//新建swift项目时默认创建,包含了所有swift文件引用@implementation Occlass- (voID)ocFunction:(Nsstring *)str{ NSLog(@"\noc func par - str = %@",str); SwiftObj *swiftObj = [[SwiftObj alloc]init]; [swiftObj swiftFuncWithPar:@"OC -> swift"];}@end Swift VIEwController.swift
import UIKitclass VIEwController: UIVIEwController { overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() let ocObj = Occlass(); ocObj.ocFunction("swift -> OC"); // Do any additional setup after loading the vIEw,typically from a nib. } overrIDe func dIDReceiveMemoryWarning() { super.dIDReceiveMemoryWarning() // dispose of any resources that can be recreated. }} SwiftObj.swift
import UIKitclass SwiftObj: NSObject { @objc func swiftFunc(par:String){//@objc 很重要 必须写 不然oc调用时找不到该方法 print("swift func par = \(par)"); }} 运行项目 控制器打印
2018-06-20 18:01:19.346937+0800 SwiftAndOC[6803:243390] oc func par = swift -> OCswift func par = OC -> swift
? ?
? ?
? ?
友情链接: 技术博客 ???????简书主页总结
以上是内存溢出为你收集整理的Swift与OC的相互调用全部内容,希望文章能够帮你解决Swift与OC的相互调用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)