如何在原有的Objective-C中使用Swift和在Swift中使用Objective-C

第一次写博客,废话不多说,直接进入正题.


一.如何在原有的Objective-C项目中使用Swift

1.首先点击Command+N新建一个Swift File命名为MySwiftObject. 出现如下图所示的对话框,点YES.



2.在MySwiftObject中建一个class,添加一些属性和方法,如下:

class MySwiftObject : NSObject {

    

    //声明属性

    //:Swift中所有声明的属性都必须赋初值(在声明的时候赋值或在初始化方法中赋值都可以)

    var aProberty: String? //String? Swift中被定义为Optional String, 如未赋值将被自动设置为nil

    var bProberty = 0

    

    //初始化方法

    init() {}

    

    //自定义方法

    func aMethod(aString: String) -> String {

        return aProberty! + aString

    }

    

    func bMethod() -> String {

        let a: String = aProberty! + String(bProberty)

        return a

    }

}


3.在你的OC类.m文件中#import "xxxx-Swift.h" (xxxx即你的项目名称) ,如:

#import "demo-Swift.h"


4.创建MySwiftObject实例,代码如下:

    MySwiftObject *object = [[MySwiftObject alloc] init];

    object.aProberty = @"sss";

    object.bProberty = 5;

    NSLog(@"%@",[object aMethod:@"123"]);

    NSLog(@"%@",[object bMethod]);



二.在Swift项目中使用Objective-C

1.新建一个Swift项目,language选择Swift



2.新建一个Cocoa Touch class 命名为CustomView, 继承自UIView, language选择Objective-C, 弹出对话框选择YES


3.找到自动生成的文件xxxx-Bridging-Header.h(xxxx为你的项目名称) 添加

#import "CustomView.h"


4.在ViewController.swift中创建CustomView实例,代码如下

import UIKit


class ViewController: UIViewController {

                            

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        

        var aView = CustomView(frame: self.view.bounds) //创建实例并初始化fame

        aView.backgroundColor = UIColor.redColor()

        self.view.addSubview(aView)

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

}



更多内容:Using Swift with Cocoa and Objective-C



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值