然后,为了在OC中调用Swift的办法,我们须要导入头文件,这时刻,OCSource.m文件内容如下
- #import "OCSource.h"
- #import <MixFramework/MixFramework-Swift.h>
- @implementation OCSource
- - (void)functionFromOC{
- NSLog(@"%@",[ClassForOC textForOC]);
- }
- @end
然后,build,发明成功了,很高兴。
外部调用
在ViewController.swift中,我们调用Framework中的内容。
- import MixFramework
- class ViewController: UIViewController {
- var t = SwiftIt()
- override func viewDidLoad() {
- super.viewDidLoad()
- t.encapsulate()
- // Do any additional setup after loading the view, typically from a nib.
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- }
然后运行,发明控制台打印出
- 2017-03-02 16:08:24.000 HostApplication[19524:167669] textForOC
总结
嗯,framework打包成功了。
问题
如不雅你之前没有效Swift和Objective C混淆开辟,建议看看这篇文档:
- Swift and Objective-C in the Same Project
平日,我们欲望裸露给外部的接口是纯Swift,而OC文件的具体接口应当隐蔽,这就是我标题中的优雅两个字的含义。
如不雅你好奇,你会发明,在ViewController.swift中你可以这么调用
- var s = OCSource()
也就是说,OC的内容也裸露出来了,这破坏了Framework的封装特点。
- import Foundation
- import MixFramework.OCSource
- import MixFramework
- import MixFramework.Swift
- import SwiftOnoneSupport
- import UIKit
推荐阅读
2016年11月的一个晚上,美国纽约布朗克斯区(Bronx)的一名54岁女子因为严重头痛被送至哥伦比亚大年夜学(Columbia University)医疗中间的急诊室。她对急诊室大夫说本身目力变得模糊,左手认>>>详细阅读
本文标题:优雅的开发Swift和Objective-C混编的Framework
地址:http://www.17bianji.com/lsqh/34658.html
1/2 1