__bridge - 橋接
- 在ARC環境下,編譯器不會處理C語言申請的記憶體空間.
- 在ARC環境下,當出現C語言和OC語言的混合開發時,需要實現資料型別的轉換,在資料型別轉換時還需要使用橋接,告訴編譯器記憶體管理方式.
舉例 :
- (void)pthreadDemo {
// 新執行緒的標示符
pthread_t ID;
// 定義非同步函式的引數
// char *cStr = "hello";
NSString *ocStr = @"hello";
// 建立子執行緒 : C和OC的混編,資料型別轉換結束後使用__bridge標記,告訴編譯器記憶體管理方式
int result = pthread_create(&ID, NULL, demo, (__bridge void *)(ocStr));
// 判斷建立子執行緒是否成功
if (result == 0) {
NSLog(@"子執行緒建立成功");
} else {
NSLog(@"子執行緒建立失敗");
}
}
/// 子執行緒執行的函式
void *demo(void *param) {
// 接收外界傳入的引數 : C和OC的混編,資料型別轉換結束後使用__bridge標記,告訴編譯器記憶體管理方式
NSString *str = (__bridge NSString *)(param);
NSLog(@"demo = %@ %@",str,[NSThread currentThread]);
return NULL;
}
相關文章
- 2.2 橋接 Bridge橋接
- 橋接模式(Bridge)橋接模式
- 設計模式 | 橋接模式(bridge)設計模式橋接
- c++涉及模式 橋接模式(bridge Pattern)C++模式橋接
- 《設計模式》 - 6. 橋接模式( Bridge )設計模式橋接
- C#設計模式-橋接模式(Bridge Pattern)C#設計模式橋接
- C#設計模式系列:橋接模式(Bridge)C#設計模式橋接
- JAVA設計模式之 橋接模式【Bridge Pattern】Java設計模式橋接
- 設計模式--橋接模式Bridge(結構型)設計模式橋接
- 設計模式(五)橋接模式Bridge == Pointer To Implementation設計模式橋接
- 設計模式的征途—8.橋接(Bridge)模式設計模式橋接
- C#設計模式(8)——橋接模式(Bridge Pattern)C#設計模式橋接
- ARC下OC物件與CF物件的橋接(__bridge)物件橋接
- Strimzi Kafka Bridge(橋接)實戰之一:簡介和部署Kafka橋接
- Strimzi Kafka Bridge(橋接)實戰之三:自制sdk(golang版本)Kafka橋接Golang
- ARC下OC物件和CF物件之間的橋接(bridge)物件橋接
- 橋接橋接
- Java橋模式(Bridge模式)Java模式
- Strimzi Kafka Bridge(橋接)實戰之二:生產和傳送訊息Kafka橋接
- 設計模式 - Bridge 橋模式設計模式
- 橋接模式橋接模式
- 更強大的 MQTT over QUIC 橋接 & Azure 橋接MQQTUI橋接
- JS 橋接模式JS橋接模式
- vmware橋接不通橋接
- JavaBridgePattern(橋接模式)Java橋接模式
- Swift-橋接模式Swift橋接模式
- apache +tomcat 橋接ApacheTomcat橋接
- 08_橋接模式橋接模式
- SS241030C. 橋樑(bridge)
- centos 7 橋接網路CentOS橋接
- 設計模式之橋接設計模式橋接
- 設計模式-橋接模式設計模式橋接
- 設計模式(七)橋接設計模式橋接
- 設計模式:橋接模式設計模式橋接
- (精華)2020年8月28日 二十三種設計模式(七)-橋接模式(Bridge Pattern)設計模式橋接
- Java設計模式-橋接模式Java設計模式橋接
- 橋接模式(c++實現)橋接模式C++
- [譯] Java 橋接方法詳解Java橋接