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方法

为防止出问题,建议以这样的方法做: 1.建一个OC工程命名为SwiftOC 2.新建一个swfit文件命名为Test.swift,会弹出提示,选择Create Bridging Header建...
  • zww1984774346
  • zww1984774346
  • 2016年01月12日 20:13
  • 6269

iOS OC项目调用Swift类

网上有很多关于OC项目中使用Swift类的方法,但是亲自试了之后,发现不够详细,多次尝试后,终于找出详细的方法。 现把方法和遇到的问题,记录下来,方便其他同仁借鉴....
  • u010407865
  • u010407865
  • 2017年03月17日 13:51
  • 3807

swift与OC混编(方法调用)

原创文章转载请注明出处。 背景在上一篇文章中简单讲述了怎么创建Swift和OC的混编工程。本篇讲一下Swift和OC的混编工程中的方法调用。OC调用SwiftOC调用Swift方法比较简单。但是需要注...
  • showhilllee
  • showhilllee
  • 2016年01月29日 11:48
  • 9385

swift项目中,OC和swift文件相互调用

有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用。   swift调用oc的方法: 1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改...
  • qq_33298465
  • qq_33298465
  • 2017年08月10日 13:40
  • 325

swift中使用OC的方法;在OC中调用swift方法

swift中使用OC的方法;在OC中调用swift方法
  • wj748499404
  • wj748499404
  • 2016年07月21日 02:13
  • 2556

Swift开发:Swift项目调用OC代码

1  创建swift项目 2 在swift项目中添加oc文件,及.h 和 .m 文件 3 在创建oc文件时,可能提示你是否创建桥接文件,点击是即可,    如果没有提示需要自己创建 4 手动创...
  • taoerit
  • taoerit
  • 2016年05月04日 20:37
  • 2154

OC 和 Swift 混编 OC 中调用 Swift

1、创建一个Object-C工程:SwiftInObjectC 2、创建一个Object-C的类:SwiftLan(注意选择) 当创建完成后,Xcode提示下面警告...
  • sevenquan
  • sevenquan
  • 2016年02月18日 16:38
  • 1044

swift enum 和OC兼容

虽然说swift是基于OC的,但是swift和OC还是有很多去别的,今天我们来说一下枚举变量 下面是某个免费短信验证码的验证方法的返回状态 enum SMS_ResponseState { ...
  • z7222946
  • z7222946
  • 2015年07月09日 16:02
  • 1074

oc调用swift

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

iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包,swift 3.0

最新一些学妹问起,所以抽点时间来写的,适合入门级别的swift 与 OC 混编 的程序猿。   本文章将从两个方向分别介绍 OC 与 swift 混编   1. 第一个方向从 swift工程 中引入...
  • zhonggaorong
  • zhonggaorong
  • 2016年11月15日 17:41
  • 4058
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC调用Swift
举报原因:
原因补充:

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