swift、OC混编

  • https://www.jianshu.com/p/7711a1ecc89d?from=timeline&isappinstalled=0
  • swfit、oc混编

Swift项目混编OC

1.swift类中引用oc类及方法,oc文件copy到swift工程,自动生成桥文件

2.在Swift的项目里,并不会有提示让你去建立OC-Swift桥接文件。那么我们怎样在OC类中去调用Swift呢?请看图六,在Objective-C Bridging Header下面的一行Objective-C Generated Interface Header Name,这个就是OC-Swift桥接文件声明的地方。可以看到其命名为XLLSwiftOCMaxTest-Swift.h。

❗️如果第2步失败:build setting下的Objective-C Generated Interface Header Name选项对应的value设置为$(SWIFT_MODULE_NAME)-Swift.h,然后重新进行编译

//
//  NSString+security.h
//

#import <Foundation/Foundation.h>

@interface NSString (security)

- (NSString*) test1;

+ (NSString*) test2;

@end

//
//  NSString+security.m
// 

#import "NSString+security.h"

@implementation NSString (security)

- (NSString*) test1
{
    return @"test1";
}

+ (NSString*) test2
{
    return @"test2";
}

@end













在桥文件中,引入oc代码的头文件

//
//  Use this file to import your target's public headers that you would like to expose to Swift.
//

#import "NSString+security.h"


在swift中使用。

//
//  ViewController.swift
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        /*
         (1)oc文件copy到swift工程,自动生成桥文件
         (2)在桥文件中,引入oc代码的头文件
         (3)在swift中使用。
         */
        // 调用oc文件中的方法
        let test:NSString = "test"
        print(test.test1())
        print(NSString.test2())
        
    }


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值