OC调用Swift

原创 2015年07月09日 14:55:27

修改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

  • 2016年07月16日 23:54
  • 47KB
  • 下载

OC调用swift的DEMO

  • 2017年07月12日 11:43
  • 81KB
  • 下载

我在OC工程中调用Swift的记录

心情今天早晨在地铁站倒霉的遇到一个泼妇,虽然我很不愿意用这个词来形容一个妇女,但确实找不到合适的词来形容她,作为一个男人,我虽没有温文尔雅的举止,也不是特别的绅士,但还是一个很讲道理,很文明的人。本来...

OC与swift相互调用

OC与swift相互调用 一、OC调用swift文件 二、swift调用OC文件 三、注意和总结   一、OC调用swift文件   在OC项目中创建一个swift文件的时候,Xcode 会提示 ...

oc调用swift

OC调用Swift 如果你想在Objective-C工程中,嵌入Swift文件,实现OC调用Swift,那么这篇文章就能帮助你,由于本人最近在开发Swift项目,所以实现过OC调用Swift,在这过...

在Swift中调用oc库

先列举这个工程中用到的oc源码库:  MBProgressHUD:半透明提示器,Loading动画等SDWebImage:图片下载和缓存的库MJRefresh: 下拉刷新,上拉加载Alamofi...

Swift基础--调用第三方OC项目

Swift与OC进行混编,首先要有一个.h文件,这里使用Bridging-Header.h然后设置项目的Build Settings--Swift Compiler--Objective-C Brid...

Swift调用OC之文件操作-NSFileManager

//*************************************************** // //    >>>>>>>Swift调用OC之文件操作-NSFileManager...
  • QZidane
  • QZidane
  • 2015年04月20日 20:45
  • 1110

Swift调用OC之NSSet

//************************************* // // Swift调用OC之NSSet // // 1.NSSet是一个无序对象的集合,集合内元素是唯一 ...
  • QZidane
  • QZidane
  • 2015年03月10日 21:23
  • 608

如何在xcode中上使用OC无缝调用Swift

首先,在项目中时常会使用到OC和Swift之间的混合调用,但是很多都会调用失败,也不知道如何调用,现在小编和大家分享一下如何混合使用OC和Swift: 新建一个基于Swift的工程,在Swift里面...
  • IOSWEB
  • IOSWEB
  • 2015年11月05日 10:19
  • 829
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC调用Swift
举报原因:
原因补充:

(最多只允许输入30个字)