第一次写博客,废话不多说,直接进入正题.
一.如何在原有的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