橋接的三種方式

    // 橋接方式一:手動管理內存
    NSString *firstNameStr = (__bridge NSString *)(firstName);
    
    NSString *lastNameStr = (__bridge NSString *)(lastName);
    
    NSLog(@"firstName: %@    lastName: %@",firstNameStr,lastNameStr);
    
    CFRelease(firstName);
   
    CFRelease(lastName);
    
    // 橋接方式二: 2.1不需要手動管理內存
    NSString *firstNameStr = CFBridgingRelease(firstName);
    
    NSString *lastNameStr = CFBridgingRelease(lastName);
    
    NSLog(@"firstName: %@    lastName: %@",firstNameStr,lastNameStr);
    
    // 2.2將對象的所有權轉換
    NSString *firstNameStr = (__bridge_transfer NSString *)firstName;
    
    NSString *lastNameStr = (__bridge_transfer NSString *)lastName;
    
    NSLog(@"firstName: %@    lastName: %@",firstNameStr,lastNameStr);
    
    // 橋接方式三: Foundation 轉換爲CoreFoundation   不常用
   
    (__bridge_retained <#CF type#>)<#expression#>)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章