OC&&Swift——方法调用技巧

在现在这个iOS行业,如果你还只会OC的话,可能你是一个老手,而且是一个不喜欢学习的老手,如果你只会Swift的话,那么那么可能很多底层的东西没有办法去挖掘,尤其是一个篇全局和理论的东西,所以如果你是一个iOS程序员,那么OC和Swift是必会的,只是看你比较偏向于那一块。很多项目中都能看到两者的身影,这个时候你就不得不学习怎么去混编或者交互……..

1、OC调用Swift实例方法

例如在ViewController.m类里调用Swift的logMe实例方法,就可以这么写:

SwiftDemo* demo = [[SwiftDemo alloc] init];
[demo logMe];

2、OC调用Swift静态方法

首先先在SwiftDemo.swift文件中声明一个静态方法:

public static func swiftStaticFunc(log: NSString) {
print(log);
}

然后回到ViewController.m类里调用该方法(记得编译一下才可以)同样、调用方式和OC之间的调用类似:

[SwiftDemo swiftStaticFunc:@"oc call swift static func"];

3、Swift调用OC实例方法

在SwiftDemo.swift类里调用ViewController.m类里的logYou方法,swift调用代码如下:

let vc = ViewController()
vc.logYou()

声明一个变量vc,也就是ViewController的实例对象。然后用vc对象调用实例方法logYou。

4、Swift调用OC静态方法

首先先在ViewController.h中声明一个OC的静态方法:

+ (void) ocStaticFunc:(NSString*)log;

然后在.m文件中简单些一下实现:

+ (void)ocStaticFunc:(NSString *)log {
NSLog(@"%@", log);
}

回到SwiftDemo.swift文件中,用swift调用OC的静态方法。

ViewController.ocStaticFunc("swift call oc static fun")

5、Swift调用OC多参方法

首先先在ViewController.h中声明一个OC的多参方法:

- (void) logMe:(NSString*)logMe logYou:(NSString*)logYou;

在.m文件中进行一下实现:

- (void)logMe:(NSString *)logMe logYou:(NSString *)logYou {
NSLog(@"%@--%@", logMe, logYou);
}

在SwiftDemo.swift文件中调用方法如下:

vc.logMe("log me", logYou: "log you")

方法从第一个参数开始都要写在括号里

坚持原创技术分享,您的支持将鼓励我继续创作!