加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 01:53:36 所属栏目:百科 来源:网络整理
导读:对于一个初学swift的人来讲,除了要掌握swift的基本语法,最头疼的事儿还得去了解objective-c 的语法,因此现在还没有很成熟的swift库,第三方的东西(比如微信,QQ,微博)都是基于oc写的,所以写swift的时候就要考虑到调用oc的一下代码,oc暂时还不会退出

对于一个初学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–闭包 其他的都比较简单。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读