Objective-C 和 Swift 的混合开发入门

1. 先创建一个OC工程 OC_Swift_BlendTestDemo

2. 创建一个PersonClass类,类实现文件里实现一下sayHello

    #import <Foundation/Foundation.h>


    @interface PersonClass : NSObject


    @property (nonatomiccopyNSString *name;

    @property (nonatomicassignNSInteger age;

    @property (nonatomiccopyNSArray * classes;

    -(void)sayHello;


    @end

3. 创建一个 StudentClass 类,基于Swift语言,继承至PersonClass类,期间会弹出以下提示:

    

    点击Creat Bridging Header选项,Xcode会自动创建 XXX-Bridging-Header.h 文件(XXX指工程名)


    import Foundation


    class StudentClass: PersonClass {

        

    }


4. 创建一个PCH文件 PrefixHeader.pch ,记得检查Building Settings里的Prefix Header和Objective-C Bridging Header两个路径,

           

          

   在在PrefixHeader.pch文件里导入 #import "OC_Swift_BlendTestDemo-Bridging-Header.h"(swift调用OC) 和#import " OC_Swift_BlendTestDemo-Swift.h"(OC调用swift,这个头文件系统会自己创建XXX-Swift.h)。

5. 第4部之后,就可以Swift和OC就可以互相调用了,给StudentClass添加一个方法 printInfo


    import Foundation


    class StudentClass: PersonClass {

    

        func printInfo() -> Void {

            super.sayHello() // 调用OC方法

            print(self.name)

            print(self.age)

            print(self.classes)

        }

    

    }


6. 在ViewController里viewDidLoad,添加如下代码:


    StudentClass *std = [[StudentClass alloc] init];

    std.name = @"Tom";

    std.age = 19;

    std.classes = @[@"Math",@"English"];

    [std printInfo];


打印结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值