源碼請點擊github地址下載瞳浦。
主要內(nèi)容:
- 1.在OC項目里:
- 1.1.OC代碼調(diào)用Swift方法
- 1.2.Swift代碼調(diào)用OC代碼骤星。
- 2.在Swift項目:
- 2.1.Swift代碼調(diào)用OC代碼
- 2.2.OC代碼調(diào)用Swift方法显拜。
不管在什么項目里,在創(chuàng)建另外一種開發(fā)語言文件時系統(tǒng)會提示創(chuàng)建橋接文件OCAndSwift-Bridging-Header.h(其中OCAndSwift代表項目名稱。),一定得有這橋接文件swift代碼才能調(diào)用OC哼绑。
- 功能1.1與2.2
他們都是OC代碼調(diào)用Swift方法,不管是在什么項目中碉咆,使用方法都一樣抖韩。
只須在需要使用Swift方法的OC文件中倒入頭文件 #import "OCAndSwift-swift.h"
即可,在任何oc文件中導入的頭文件都一樣疫铜,其中OCAndSwift代表項目名稱茂浮。 - 功能1.2與2.1
他們都是Swift代碼調(diào)用OC代碼。
將OC代碼所在頭文件放在OCAndSwift-Bridging-Header.h文件里即可壳咕,可供任何位置的swift調(diào)用席揽,如導入:#import "LXHelpClass.h"。
Swift代碼調(diào)用OC方法如下:
func tappedButton(sender:UIButton!) {
self.myImageView.image = LXHelpClass.getEllipseImageWithImage(self.myImageView.image)
print(sender.tag, terminator: "swift")
}
@interface LXHelpClass : NSObject
+ (UIImage *)getEllipseImageWithImage:(UIImage *)originImage;
@end
OC控制器push到Swift控制器
#import "OCAndSwift-swift.h"
- (void)pushBtnClicked:(UIButton *)sender
{
SwiftController *swiftVC = [[SwiftController alloc] init];
[self.navigationController pushViewController:swiftVC animated:YES];
}
class SwiftController: UIViewController {
override func viewDidLoad() {
...
}
...
}
swift的控制器效果圖如下谓厘,圓形頭像是swift調(diào)用oc方法實現(xiàn)的功能:
screen.png