首页 > 代码库 > OC调用Swift
OC调用Swift
改动main.m文件
#import <Foundation/Foundation.h> #import "Root.h" int main(int argc, const char * argv[]) { @autoreleasepool { Root *rt = [[Root alloc] init]; [rt desc]; } return 0; }
OC文件:Root.h
#import <Foundation/Foundation.h> //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的类来调用。一定要继承自NSObject class 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) } }
OC调用Swift
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。