OC 與 Swift 相互呼叫

2021-09-12 01:35:40 字數 1026 閱讀 8235

在oc專案中建立乙個swift檔案的時候,xcode 會提示 需要建立乙個橋接檔案,點確定建立橋接檔案,xcode會自動建立乙個橋接檔案,如下圖

名字:工程名-bridging-header.h

這個橋接檔案是 swift 呼叫oc檔案的時候用的

進入targets ->build settings -> packaging 中

設定defines module為yes

設定 product module name ,也可以不設定,預設為工程的名字。這個在後面會用到

在oc需要用到的swift檔案中 匯入檔案 因為 product module name 預設是工程的名字

所以直接匯入 #import 《工程名-swift.h>

oc 調 swift **

//

// viewcontroller.m

// swiftinoc

//// created by z_z_z on 2018/5/21.

//#import "viewcontroller.h"

#import

@inte***ce viewcontroller ()

@end

@implementation viewcontroller

- (void)viewdidload

複製**

log

在橋接檔案中新增需要呼叫的oc.**件。如圖

swift調oc**

//

// viewcontroller.swift

// ocinswift

//// created by z_z_z on 2018/5/21.

//import uikit

class viewcontroller: uiviewcontroller

override func didreceivememorywarning

() }

複製**

log

swift專案中 OC與swift相互呼叫

1 橋接檔案,一般是swift工程,在建立乙個oc檔案時,系統自動新增 不用改名,直接預設即可 2 將需要引用的oc檔案 h標頭檔案 新增到橋接類中。具體方法可以參考我的這篇部落格,裡面進行了詳細講解 1 首先設定一下packing 進入targets build settings packagin...

OC與Swift語言的相互呼叫

1.在oc呼叫swift語言的 在使用oc編寫的工程中建立swift語言的 建立的時候會給出乙個是否建立oc語言的橋梁,選擇建立 目的是引入oc 語言的標頭檔案的,是讓swift語言執行oc 語言程式的。並不是讓oc執行swift語言程式的。如果想要讓oc執行swift語言程式的話,他會建立出乙個不...

Flex與Javascript相互呼叫

用flash cs3開發,或者在flex裡建立as專案開發,與flex裡建立flex專案開發,在對於呼叫外部的問題,比如externalinte ce類這個命令 結果一樣嗎?答案是不一樣,這是個很奇怪的問題,其實是源於flex在建立的時候內部包含的東西很多,還加了個框架,如果你按照flash cs3...