Swift轻松调用Objective-C第三方库

前端之家收集整理的这篇文章主要介绍了Swift轻松调用Objective-C第三方库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

对于一个初学swift的人来讲,除了要掌握swift的基本语法,最头疼的事儿还得去了解objective-c 的语法,因此现在还没有很成熟的swift库,第三方的东西(比如微信,QQ,微博)都是基于oc写的,所以写swift的时候就要考虑到调用oc的一下代码,oc暂时还不会退出历史舞台。因此苹果也推出了解决方法的。
我们在swift工程下,随便建立一个oc文件,就会提示你是否创建一个oc birdging header ? 这个就是连接swift和oc的桥梁。一般形式是xxxx(你的项目名)-Bridging-Header.h

接下来的重点就是如何调用OC的代码。我在code4app上下了一个第三方的oc库。库地址
这是oc的使用方法
复制WKAlertView.h/m文件到项目中即可使用。
示例:
@interface VC ()
{
UIWindow *__sheetWindow ;//window必须为全局变量或成员变量
}

//为成员变量Window赋值则立即显示Window
__sheetWindow = [WKAlertView showAlertViewWithStyle:sender.tag - 59 title:title detail:detail canleButtonTitle:cancle okButtonTitle:ok callBlock:^(MyWindowClick buttonIndex) {

//Window隐藏,并置为nil,释放内存 不能少
__sheetWindow.hidden = YES;
__sheetWindow = nil;

}];
介绍说明:
WKAlertView与以往alertView不同,是基于UIWindow实现的自定义带动画效果的AlertView。可以自定义标题和描述,通过UIWindow来实现。

如何在swift中调用呢?
1、在xxxx(你的项目名)-Bridging-Header.h添加所有的头文件,加入之后我们才可能调用,并且xcode还会代码自动提示

#include "WKAlertView.h"

2、swift调用

var window:UIWindow?

class ViewController: UIViewController{

    @IBAction func onTapped(sender: AnyObject) {

 window = WKAlertView.showAlertViewWithTitle("I'm eddie",detail: "I only do this for test my programming",canleButtonTitle: "取消",okButtonTitle: "确定",callBlock:{(buttonIndex:MyWindowClick) ->Void in
            window?.hidden = true
            window = nil
        })
后面代码省略。。。

我们对比oc和swift代码。oc的call block相当于swift的闭包,如果对闭包不清楚的可以去我的另一篇博客swift–闭包 其他的都比较简单。

原文链接:https://www.f2er.com/swift/326201.html

猜你在找的Swift相关文章