微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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–闭包 其他的都比较简单。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐