swift与OC混编之调用函数

在桥接头文件里#import oc的.h文件,整个swift工程都能使用该oc文件,在.h里暴露的方法都能被该工程使用

//oc文件
TestOC.h
1 #import
2 
3 @interface TestOC : NSObject
4 
5 - (void)sayHello;
6 - (void)sayWhat:(NSString *)name andAge:(NSString *)age;
7 + (void)sayHelloTwo;
8 
9 @end

TestOC.m
 1 #import "TestOC.h"
 2 
 3 @implementation TestOC
 4 - (void)sayHello
 5 {
 6     NSLog(@"hello to you");
 7 }
 8 
 9 - (void)sayWhat:(NSString *)name andAge:(NSString *)age
10 {
11     NSLog(@"%@,%@",name,age);
12 }
13 
14 + (void)sayHelloTwo
15 {
16     NSLog(@"i want to make friend with you");
17  
18 }
19 
20 @end


桥接头文件

#import "TestOC.h"


swift文件


调用oc文件的方法

1 let he = TestOC()
2         he.sayHello()
3  
4         he.sayWhat("achao",andAge:"22")
5 TestOC.sayHelloTwo()


可以很清晰的看见在swift里调用oc的多参函数时,函数第一部分成为swift函数的名称出现在括号之前,然后函数的第一个参数没有名字,函数剩下的部分座位swift函数对应的参数名称,就是label

调用类方法直接是类名使用点语法调用,调用多参类函数,以此类推

原文地址:https://www.cnblogs.com/vijozsoft/p/5110920.html