博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC调用Swift
阅读量:5074 次
发布时间:2019-06-12

本文共 1152 字,大约阅读时间需要 3 分钟。

改动main.m文件

#import 
#import "Root.h"int main(int argc, const char * argv[]){ @autoreleasepool { Root *rt = [[Root alloc] init]; [rt desc]; } return 0;}
OC文件:Root.h

#import 
//Objective-c 的头文件假设须要引用Swift的类。则能够使用以下这样的方式@class Person;@interface Root : NSObject-(Person *)returnPerson;-(void)desc;@end
Root.m

#import "Root.h"//Objective-c调用Swift//须要导入固定的头文件。此头文件项目里面找不到,但却是存在。

而且会自己主动把Swift类转换成OC的类,在里面能找到 //格式为 #ProductName#-Swift.h #import <OC_Swift-Swift.h> @implementation Root -(void)desc { Person *ps = [[Person alloc] initWithName:@"Rose"]; ps.name = @"Jack"; [ps desc]; } -(Person *)returnPerson { Person *ps = [[Person alloc] initWithName:@"Tom"]; return ps; } @end

Swift文件:Person.swift

import Foundation//假设此类须要被OC的类来调用。一定要继承自NSObjectclass Person : NSObject{    var name: String    {        willSet        {            NSLog("将要把名字设置为:" + name)        }    }    override init()    {        self.name = ""    }    init(name: String)    {        self.name = name    }    func desc()    {        print("这是一个Swift的类,name: " + self.name)    }}

转载于:https://www.cnblogs.com/jzdwajue/p/7039598.html

你可能感兴趣的文章
【CF888E】Maximum Subsequence 折半搜索
查看>>
Java程序IP v6与IP v4的设置
查看>>
RUP(Rational Unified Process),统一软件开发过程
查看>>
eclipse下的tomcat内存设置大小
查看>>
数据库链路创建方法
查看>>
linux文件
查看>>
Enterprise Library - Data Access Application Block 6.0.1304
查看>>
重构代码 —— 函数即变量(Replace temp with Query)
查看>>
vmware tools 的安装(Read-only file system 的解决)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>
聚合与组合
查看>>
数据库图片存储也读取
查看>>
jQuery如何获得select选中的值?input单选radio选中的值
查看>>
粘贴板工具,剪切板工具
查看>>
设计模式 之 享元模式
查看>>
查看数据库是否有死锁
查看>>
如何理解汉诺塔
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
15 FFT及其框图实现
查看>>